Java JFrame的子类调用repaint方法

importjava.awt.Graphics;importjavax.swing.JFrame;publicclassTestextendsJFrame{publicT... import java.awt.Graphics;
import javax.swing.JFrame;
public class Test extends JFrame
{
public Test()
{
this.setBounds(0, 0, 500, 500);
new Thread( new Runnable()
{
@Override
public void run()
{
while(true)
{
Test.this.repaint();
System.out.println("call repaint");
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}).start();
}
@Override
public void paint(Graphics g)
{
super.paint(g);
System.out.println("call paint");
}
@Override
public void update(Graphics g)
{
System.out.println("call update");
}

public static void main(String[] args)
{
new Test().setVisible(true);
}

}

}这个程序 重写了, update 和paint 起了一个线程每100毫秒掉一次repaint,但是根据输出显示..每次调用repaint 接下来调用的是paint,怎么没掉update啊.. update的原型是这样的吧。。

我之前听说应该是先调用update的啊。。
展开
 我来答
flylovepink
2013-04-16 · TA获得超过498个赞
知道小有建树答主
回答量:271
采纳率:0%
帮助的人:397万
展开全部
你上面使用的是 JFrame
如果,是Frame 就是 要调用 update 然后,在repaint 了
你可以试试,把你的继承类 换成 Frame

Jframe是轻量级的组件, java 做了很多的优化,不在简单的去update了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式