actionPerformed(ActionEvent e){

时间:2013-04-07 17:31:00

标签: java awt action actionevent

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

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

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

我不知道你是否理解,但如果你能帮助我,谢谢你!

2 个答案:

答案 0 :(得分:5)

如果希望GUI在长时间运行的进程中响应,则需要使用后台线程。 SwingWorker在Swing GUI中运行良好。有关此问题的详细信息,请查看Concurrency in Swing

示例:

答案 1 :(得分:2)

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

Here是您可以查看如何使用它们的问题。 或者您可以使用官方oracle documentation作为SwingWorker