有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

单击按钮后,java GUI在forloop期间冻结

更详细地说,我有一个接受数学运算的循环和一个转换案例,它转换这些运算以应用加法或减法。。等等

循环(inti)是它读取的操作数。该条件也是输入操作的一部分,也在开关盒内。因此,每当用户输入该条件,循环应该重复的数字(例如j)时,程序应该接受j并将其与i相等,但它会冻结。我想让它分支到循环的那个部分,在那里用户定义了正确的条件

一旦用户点击JButton,GUI就会冻结,以便计算在TextArea中编写的操作


共 (1) 个答案

  1. # 1 楼答案

    the GUI freezes once the user hits a JButton

    在侦听器中调用的代码在Event Dispatch Thread (EDT)上执行。EDT负责处理事件和绘制GUI。因此,如果在单击按钮时执行长时间运行的任务,则会导致GUI冻结,直到任务完成执行

    您需要在单独的线程上执行长时间运行的任务。一种方法是使用Swing Worker。阅读Swing教程中关于Concurrency的部分,了解有关EDTSwingWorker的更多信息