单击按钮后,使所有文本框不可编辑

时间:2018-07-02 18:06:56

标签: java swing

我是Swing编码的新手。我有3个文本框和一个按钮。 单击按钮后,我要禁用/禁用三个文本框。 我在按钮actionPerformed函数中添加了以下代码。它不会禁用/使其不可编辑。

myTextField.setEditable(false);
myTextField.setEnabled(false);
mytask() //it taskes almost 30 minutes

有人可以告诉我我在做什么错吗?

1 个答案:

答案 0 :(得分:0)

  

mytask()//完成任务将近30分钟

您要长期运行的任务应在单独的线程上执行。如果在ActionListener中调用长时间运行的任务,则GUI将冻结,直到任务完成执行。

阅读Concurrency上Swing教程中的部分,以获取更多信息。您可能要使用SwingWorker来完成任务。

  

我在按钮actionPerformed函数中添加了以下代码。它不会禁用/使其不可编辑

如果您已经在单独的线程中调用了该任务,则意味着您没有对添加框架的文本字段的引用。也许您创建了两个实例。