编程语言
首页 > 编程语言> > 在JFrame Java中闪烁

在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