我正在用不同的按钮构建一个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)
{的指令尚未完成。我不知道您是否理解,但是谢谢您能帮助我!
最佳答案
如果希望GUI在长时间运行的过程中响应,则需要使用后台线程。一个SwingWorker在Swing GUI上可以很好地解决这个问题。请检查Concurrency in Swing以获得所有有关此方面的细节。
例子:
mvc-progress-bar-threading
why-does-swingworker-stop-unexpectedly
Google Search