项目收获
1. paintComponent(Graphics g)的使用
建立一个MyDrawPanel类extendsJPanel,通过对象调用paintComponent()方法。
class MyDrawPanel extends JPanel{
public void paintComponent(Graphics g){
for(int i=1; i<COLS; i++){
g.drawLine(i*SIZE, 0, i*SIZE, ROWS*SIZE);
}
for(int i=1; i<ROWS; i++){
g.drawLine(0, i*SIZE,COLS*SIZE ,i*SIZE );
}
Snake s = new Snake(200, 300);
DrawSnake snake = s.new DrawSnake();
snake.paintComponent(g);
}
2. 非静态内部类的使用
public class Snake extends JPanel{
int h = Yard.SIZE;
int w = Yard.SIZE;
int col;
int row;
public Snake(int col, int row) {
this.col = col;
this.row = row;
}
public class DrawSnake extends JPanel{
public void paintComponent(Graphics g){
g.fillRect(col, row, h, w);
}
}
}
Snake s = new Snake(200, 300);
DrawSnake snake = s.new DrawSnake();
snake.paintComponent(g);
3. Math.Random()的范围为[0,1);
Random r = new Random();
r.NextInt的范围为2的32次方。