我正在绘制一个简单的动画,Explosion
我一直在尝试使用一个摆动工作线程来完成所有的“繁重计算”;但是,我的动画仍然非常慢,下面的这种用法对于 swingworker 是否正确?或者问题可能出在我的动画课上?
谢谢!
JFrame f = new JFrame();
f.setSize(new Dimension(800, 800));
f.setVisible(true);
Explosion e = new Explosion(400,400, 800,800);
f.add(e);
Timer t = new Timer(10, e2 -> {
SwingWorker w = new SwingWorker()
{
@Override
protected Object doInBackground() throws Exception {
e.explode();
return null;
}
@Override
protected void done()
{
f.repaint();
}
};
w.execute();
});
t.start();