代码之家  ›  专栏  ›  技术社区  ›  user1312312

单击按钮时将所有文本框设置为不可编辑

  •  0
  • user1312312  · 技术社区  · 6 年前

    我是新来的摇摆编码。我有3个文本框和一个按钮。 单击按钮后,我想禁用/停用三个文本框。 我在button actionperformed函数中添加了下面的代码。它不会禁用/使其不可编辑。

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

    有人能告诉我我做错了什么吗?

    1 回复  |  直到 6 年前
        1
  •  0
  •   camickr    6 年前

    mytask()//任务时间将近30分钟

    您的长时间运行任务应该在单独的线程上执行。如果在actionlistener中调用长时间运行的任务,那么gui将冻结,直到任务完成执行。

    阅读swing教程中关于 Concurrency 更多信息。你可能会想用 SwingWorker 为了完成任务。

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

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