我正在用netbeans制作一个服务器-客户端应用程序项目。我使用netbeans gui构建器在JFrame上制作了一些Jpanel和其他一些东西(按钮,文本字段,textarea,菜单)。
当我按下新服务器按钮时,整个JFrame及其所有组件都被冻结,但是服务器-客户端部分正在后台运行。我认为线程或某些东西有问题,
但是我还不太了解我该怎么办。
最佳答案
该问题很可能是您的服务器-客户端代码实际上不在后台运行,而是在Swing事件线程上运行。您可以使用SwingUtilities方法进行测试:SwingUtilities.isEventDispatchThread()
也:
您是否正在使用SwingWorker进行后台工作?
您是否正在使用后台线程进行任何join()
调用?
您是否在等待SwingWorkers get()
方法?
您的代码详细信息可能会帮助我们为您提供更具体的建议。要了解您应该做什么,请阅读Lesson: Concurrency in Swing