0

我正在构建一个带有不同按钮的 grpahic 界面,当用户单击一个按钮时,我使用:

actionPerformed(ActionEvent e) {
Object source = e.getSource();
if
else if
else if
...
}

问题是当用户点击一个按钮时,actionPerformed(ActionEvent e)被调用,并且在对应的 if 中输入e.getSource();。它执行相应的if中的所有指令。但我想让用户点击不同的按钮成为可能,以便actionPerformed(ActionEvent e)调用 {,即使前一个actionPerformed(ActionEvent e){ 的说明尚未完成。

不知道你懂不懂,如果能帮到我,谢谢!

4

2 回答 2

5

如果您希望 GUI 在长时间运行的进程发生时做出响应,则需要使用后台线程。SwingWorker 在 Swing GUI 中很好地解决了这个问题。请查看Swing 中的并发以了解有关此的所有血腥细节。

例子:

于 2013-04-07T17:32:47.510 回答
2

你需要使用SwingWorker. 它在后台完成工作而不会冻结 UI。

是您可以查看如何使用它们的问题。或者,您可以使用官方 oracle文档.SwingWorker

于 2013-04-07T17:35:42.320 回答