1

我在按钮上添加了一个动作监听器:

myButton.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e)
    {
        myButtonAction();
    }
});

该按钮将启动阻塞/短调用。我想在调用发生之前更新 JFrame(一些组件)——以通知用户。但是,JFrame 似乎没有paintImmediately。我应该怎么做?

此时任何更改,包括在完成后才myButton.setEnabled(false)更新。 myButtonAction()

我真的应该为所有东西(非 ui 相关)创建新线程吗?这对我来说似乎是一项轻量级的任务。

4

1 回答 1

1

是的,您应该在另一个线程上运行它。首先,我不会认为它是“轻量级”的。

如果需要,您可以重用线程,请参阅SwingWorkerThreadPoolExecutor

于 2012-12-12T16:40:57.220 回答