我想在jpanel上绘制圆圈,其中每个圆圈应交替出现在随机位置上,颜色不同,例如2000ms后,它会消失(消失),然后出现一个新的圆圈。
但是,我想使用一个包含3个线程的线程池,这样我就可以在同一时间显示3个圆圈。
所以现在我不确定我应该如何执行CircleRunnable类并让这些圆圈出现在屏幕上?
答案 0 :(得分:4)
不,你不应该为此使用多个线程。图形不是通常多线程的东西(由Swing的Event / Paint线程证明)。
相反,您应该在合适的集合中跟踪圈子及其生命周期,并在单个线程中处理它。例如,创建javax.swing.Timer
并在每个刻度线上随机生成圆圈。
这样你就可以拥有数百个圆圈,并且你不会在Swing程序中用多线程射击自己。