我是 Java 新手,正在开发 Java swing 应用程序。
主框架(JFrame)有一个文本框和一个确定按钮。当文本框失去焦点时需要执行一些长时间处理,以及单击“确定”按钮时需要执行不同的长时间处理。现在,如果用户在文本框中输入一个值并直接单击“确定”按钮,理想情况下,首先触发焦点丢失事件,然后触发“确定”按钮上的事件。问题是,当焦点丢失事件正在运行时,会出现一个选项框架,要求用户进行一些输入,但即使在用户在此处输入输入之前,“确定”按钮事件也开始执行,从而导致应用程序出现问题。如何序列化事件调用。
任何帮助将不胜感激。
最佳答案
您的问题在于 Event Dispatch Thread 的概念中。对于长时间运行的工作负载,请查看SwingWorker
类。
关于java - Swing 事件麻烦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8119655/