Java swing组件被冻结了

use*_*095 0 java swing netbeans client-server

我正在netbeans中创建一个服务器 - 客户端应用程序项目.我使用netbeans gui builder在我的JFrame上制作了一些Jpanel和其他一些东西(按钮,文本字段,文本区域,菜单).当我按下新服务器按钮时,整个JFrame及其所有组件都被冻结,但服务器 - 客户端部分正在后台运行.我认为线程或其他东西有问题,但我真的不明白我应该做什么.

Hov*_*els 6

问题可能是您的服务器 - 客户端代码实际上不在后台工作,而是在Swing事件线程上工作.您可以使用SwingUtilities方法测试这个:SwingUtilities.isEventDispatchThread()

也:

  • 您使用SwingWorker进行后台工作吗?
  • 你是否正在join()使用后台线程进行任何调用?
  • 你在等SwingWorkers get()方法吗?

您的代码的详细信息可能会帮助我们为您提供更具体的建议.要了解您应该做什么,请阅读,课程:Swing中的并发