
public Main(){
new Thread(this).start();
}
@Override
protected void paintComponent(Graphics arg0) {
super.paintComponent(arg0);
System.out.println("...");
}
public static void main(String[] args) {
new Main();
}
@Override
public void run() {
while(true){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
repaint();
}
}
}
运行的时候并没有调用piant函数里的输出函数。 请问这是为什么。
不需要调用。
解释:repaint方法高早中在父类方法中实际上实现的功能就是paint方法,所以效果是等同,也就敏仔不需戚拿雀要再去重复调用paint方法。
import java.awt.Frame;
import java.awt.Graphics;
public class Frames extends Frame implements Runnable
{
public Frames()
{
this.setSize(200, 200);
this.setVisible(true);
new Thread(this).start();
}
public void paint(Graphics g)
{
System.out.println("..."粗耐);
}
public static void main(String[] args)
{
new Frames();
}
@Override
public void run()
{
while(true)
{
this.repaint();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
这个,好像喊凳行repaint方法只对Frame或者JFrame起作用吧郑哗??
你也没掉用ran()方法哦。