刚才我看了一朋友设计的贪吃蛇代码,自己也试验了一下发现有个地方不明白,希望高人指点一下
我没有调用过paint()方法可程序运行时候自己却好像调用了,具体代码如下,文本框组件是用来测试paint()方法的
import java.awt.*;
import javax.swing.*;
public class Fram extends JFrame{
JPanel panel;
Rectangle food;
JTextField txtTemp=new JTextField();
public Fram(){
this.setTitle("食物测试");
setSize(400,400);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
food=new Rectangle(100,200,10,10);
panel=(JPanel)getContentPane();
panel.setLayout(null);
panel.add(txtTemp);
txtTemp.setBounds(200,200,80,20);
}
/**
*为什么我没有调用过paint()方法但这个方法也被实现了呢?
*该方法不是static啊
*希望高手可以为小弟指点一二
*/
public void paint(Graphics g)
{
super.paint(g);
g.setColor(Color.RED);
g.fillRect(food.x,food.y,food.width,food.height);
txtTemp.setText("color");
}
public static void main(String [] args){
new Fram();
}
}