0

我正在绘制一个简单的动画,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();
4

0 回答 0