在JFrame Java中闪烁
作者:互联网
大家好,我正在做一个线程来更新JFrame上的球,所以我重新绘制屏幕…然后将球更新到它的位置……然后再次绘制屏幕……画出球和同样的周期……这是代码
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
Thread t = new Thread()
{
public void run()
{
while(true)
{
repaint();
b2.update(ob,2);
b2.paint(ob.getGraphics());
b2.setT(b2.getT() + 1);
try {
Thread.sleep(50);
} catch (InterruptedException ex) {
System.out.println("Error in Sleeping");
}
}
}
};
t.start();
}
但问题是我没有看到球…屏幕的油漆总是覆盖球,球就像在Jframe下面.
解决方法:
如果你想在Swing中有动画,推荐使用的类是javax.swing.Timer.此类允许您定期对事件调度线程执行操作.
> Swing Timer
tutorial
>一个animation example发布在这里SO(这是在Swing wiki链接在这里SO btw)
标签:java-2d,java,concurrency,swing 来源: https://codeday.me/bug/20190927/1824707.html