import java.awt.Graphics
import java.awt.event.ActionEvent
import java.awt.event.ActionListener
import javax.swing.JButton
import javax.swing.JFrame
import javax.swing.JPanel
public class Painter extends JFrame{
/**
*
*/
private static final long serialVersionUID = 8160427604782702376L
CanvasPanel canvas = new CanvasPanel()
public Painter() {
super("Star")
this.add(canvas)
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
this.pack()
this.setResizable(false)
this.setLocationRelativeTo(null)
this.setVisible(true)
}
public static void main(String[] args) {
new Painter()
}
}
class CanvasPanel extends JPanel implements ActionListener{
/**
*
*/
private static final long serialVersionUID = -4642528854538741028L
private JButton[] btn = new JButton[4]
private String[] btn_name = {"+", "-", "R", "L"}
private int center_x = 200, center_y = 200, radius = 100, degree = 0
public CanvasPanel() {
this.setPreferredSize(new Dimension(400, 500))
this.setLayout(null)
for(int i = 0i <4i++) {
btn[i] = new JButton(btn_name[i])
btn[i].setBounds(160 + i * 60, 425, 50, 50)
btn[i].addActionListener(this)
this.add(btn[i])
}
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g)
for(int i = 0i <5i++) {
g.drawLine( (int) (center_x + radius * Math.sin(Math.toRadians(degree + 72 * i))),
(int) (center_y - radius * Math.cos(Math.toRadians(degree + 72 * i))),
(int) (center_x + radius * Math.sin(Math.toRadians(degree + 72 * i + 144))),
(int) (center_y - radius * Math.cos(Math.toRadians(degree + 72 * i + 144))))
}
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getActionCommand() == "+") {
if(radius <200)
radius += 2
repaint()
} else if(e.getActionCommand() == "-") {
if(radius >0)
radius -= 2
repaint()
} else if(e.getActionCommand() == "R") {
degree = (degree + 2) % 360
repaint()
} else if(e.getActionCommand() == "L") {
degree = (degree - 2) % 360
repaint()
}
}
}
具体如下:
连连看的小源码
package Lianliankan
import javax.swing.*
import java.awt.*
import java.awt.event.*
public class lianliankan implements ActionListener
{
JFrame mainFrame//主面板
Container thisContainer
JPanel centerPanel,southPanel,northPanel//子面板
JButton diamondsButton[][] = new JButton[6][5]//游戏按钮数组
JButton exitButton,resetButton,newlyButton//退出,重列,重新开始按钮
JLabel fractionLable=new JLabel("0")//分数标签
JButton firstButton,secondButton//
分别记录两次62616964757a686964616fe59b9ee7ad9431333335326239被选中的按钮
int grid[][] = new int[8][7]//储存游戏按钮位置
static boolean pressInformation=false//判断是否有按钮被选中
int x0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validateLV//游戏按钮的位置坐标
int i,j,k,n//消除方法控制
代码(code)是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。
对于字符和Unicode数据的位模式的定义,此模式代表特定字母、数字或符号(例如 0x20 代表一个空格,而 0x74 代表字符“t”)。一些数据类型每个字符使用一个字节;每个字节可以具有 256 个不同的位模式中的一个模式。
在计算机中,字符由不同的位模式(ON 或 OFF)表示。每个字节有 8 位,这 8 位可以有 256 种不同的 ON 和 OFF 组合模式。对于使用 1 个字节存储每个字符的程序,通过给每个位模式指派字符可表示最多 256 个不同的字符。2 个字节有 16 位,这 16 位可以有 65,536 种唯一的 ON 和 OFF 组合模式。使用 2 个字节表示每个字符的程序可表示最多 65,536 个字符。
单字节代码页是字符定义,这些字符映射到每个字节可能有的 256 种位模式中的每一种。代码页定义大小写字符、数字、符号以及 !、@、#、% 等特殊字符的位模式。每种欧洲语言(如德语和西班牙语)都有各自的单字节代码页。
虽然用于表示 A 到 Z 拉丁字母表字符的位模式在所有的代码页中都相同,但用于表示重音字符(如"é"和"á")的位模式在不同的代码页中却不同。如果在运行不同代码页的计算机间交换数据,必须将所有字符数据由发送计算机的代码页转换为接收计算机的代码页。如果源数据中的扩展字符在接收计算机的代码页中未定义,那么数据将丢失。
如果某个数据库为来自许多不同国家的客户端提供服务,则很难为该数据库选择这样一种代码页,使其包括所有客户端计算机所需的全部扩展字符。而且,在代码页间不停地转换需要花费大量的处理时间。
package testimport java.util.Random
import java.util.Scanner
public class TestGame {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in)
int r = new Random().nextInt(999999)
int count =0
while(true){
System.out.println("猜数字游戏,请输入一个数0到999999,输入-1结束游戏:")
int i = sc.nextInt()
if(i==-1){
break
}
count ++
if(i<r){
System.out.print("你猜小了。")
System.out.println("你已经猜了"+count+"次")
}else if(i>r){
System.out.println("你猜大了。")
System.out.println("你已经猜了"+count+"次")
}else{
System.out.println("恭喜你大对了,但是没奖励!")
}
}
System.out.println("游戏结束")
}
}