我正在构建一个带有不同按钮的图形界面,当用户单击一个按钮时,我使用:
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) {。
我不知道你是否明白,但如果你能帮助我,谢谢你!
发布于 2013-04-08 01:32:48
如果您希望GUI在长时间运行的进程发生时作出响应,则需要使用后台线程。在Swing GUI中,SwingWorker可以很好地解决这一问题。请查看Concurrency in Swing,了解有关这方面的所有详细信息。
示例:
发布于 2013-04-08 01:35:42
您需要使用SwingWorker。它在后台工作,而不会冻结UI。
Here是一个问题,你可以看看如何使用它们。或者,您可以使用用于SwingWorker的官方oracle documentation。
https://stackoverflow.com/questions/15865471
复制相似问题