【发布时间】:2013-08-01 05:56:42
【问题描述】:
为了解释更多,我有一个如下所示的 GUI:
然后我在 OK 按钮上有一个动作监听器,开始如下:
//OK Button Action Listener
private void okButtonActionPerformed(ActionEvent e) {
//Enable/Disable Buttons
okButton.setEnabled(false);
cancelButton.setEnabled(true);
updateCheckbox.setEnabled(false);
//Move on to a series of other methods here...
理论上,应该这样做:
然而,我得到以下信息,直到所有方法和连接到 OK 按钮的其他事情都完成:
这显然不可能发生,因为这个想法是让取消按钮可用,而确定按钮和其他几个复选框在程序期间不可用(图 2),相反,它冻结在一个半状态(图 3)。有没有办法解决这个问题?
【问题讨论】:
-
actionListener 里面的一切都在一瞬间完成(在屏幕上),在所有代码行执行之后,请问真正的目标是什么
-
我很难理解你的意思,但基本上我有一个长期运行的过程需要进行,同时还要保持 GUI 可用。根据其他答案,我应该通过
SwingWorker使用另一个线程。 -
我有一个长期运行的过程 ---> 然后在这里接受并接受其中一个答案,一堆代码示例,其中一些具有出色的描述
-
:-) 这里的这个问题和答案就像基于猜测和贴图的狂野短裤,很好,很好,但你得到了一个回答
标签: java swing user-interface swingworker actionevent