0

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

4

1 回答 1

6

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

还:

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

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

于 2012-09-29T15:40:33.497 回答