Java 我的Jframe在启动进程时冻结
我构建了一个从java应用程序运行exe文件的进程,所以使用start()运行,然后我的框架冻结。它正在变成一幅画。我甚至不能用X关闭它。当我最小化帧并再次打开它时,我看到帧中有黑暗。我的线程在后台运行,我可以从输出中看到,但是为什么我的帧会冻结?能否提供一些代码,问题可能是很多问题,因此它可以帮助减少其中一些问题 我建议您检查一下您是否没有暂停/睡眠任何线程 我构建了一个从java应用程序运行exe文件的进程,所以使用start()运行,然后我的框架冻结 可能是因为您在事件分派线程上启动了该进程,而该进程正在阻塞该线程,这意味着GUI无法响应事件或重新绘制自身Java 我的Jframe在启动进程时冻结,java,jframe,processbuilder,Java,Jframe,Processbuilder,我构建了一个从java应用程序运行exe文件的进程,所以使用start()运行,然后我的框架冻结。它正在变成一幅画。我甚至不能用X关闭它。当我最小化帧并再次打开它时,我看到帧中有黑暗。我的线程在后台运行,我可以从输出中看到,但是为什么我的帧会冻结?能否提供一些代码,问题可能是很多问题,因此它可以帮助减少其中一些问题 我建议您检查一下您是否没有暂停/睡眠任何线程 我构建了一个从java应用程序运行exe文件的进程,所以使用start()运行,然后我的框架冻结 可能是因为您在事件分派线程上启动了该进
该进程应在单独的线程中启动。有关更多信息,请阅读上Swing教程的部分。线程阻塞将事件分派给其他组件的队列。这可能是一个死锁问题。代码太复杂,类太多,并且相互连接。所以我想试着解释一下:我得到了框架和5-6个类,它们扩展了线程,并且在一个while(真的)循环中。线程正在侦听web服务方法。如果我接受视频通话请求,它将显示在新帧上,我接受它并处理新帧。在处理新框架构建过程的按钮侦听器并启动它之前。所以我的videochat.exe运行,而母框冻结。当videochat.exe关闭时,我试图处理母框并创建它,但它仍然冻结。然后我尝试了invokelater,这次没有出现。进程是在事件分派线程中启动的。所以我在一个线程中启动它,然后用javax.swing.SwingUtilities.isEventDispatchThread()检查它是否仍在EDT中,现在返回false。但是我的问题没有解决。我该怎么办?有东西挡住了EDT。我无法为您调试代码。我只能为你们指出调试的方向,我找到了它,在EDT的无限循环中有一段时间。现在问题解决了。谢谢你的支持。