我正在NetBeans中创建一个服务器客户端应用程序项目。我使用NetBeans GUI构建器在JFrame上制作了一些Jpanel和其他一些东西(按钮,textfield,textarea,菜单)。 当我推新服务器按钮时,整个JFrame及其所有组件都被冻结,但服务器 - 客户端部分正在后台工作。我认为线程有问题, 但我还没有真正明白我应该做什么。Java swing组件被冻结
0
A
回答
6
的问题可能是您的服务器 - 客户端代码就是不在后台工作,但Swing事件线程上,而不是工作。你可以用SwingUtilities方法测试这个你知道:SwingUtilities.isEventDispatchThread()
另外:
- 您是否使用了SwingWorker类做背景的工作?
- 你是否在做任何带有后台线程的
join()
调用? - 你在等SwingWorkers
get()
方法吗?
你的代码的细节可能会帮助我们给你更具体的建议。要了解你应该做什么,请阅读,Lesson: Concurrency in Swing
+0
我设法找出了我的问题。我犯了一个愚蠢的错误。 当我想启动服务器线程时,我调用run方法而不是start。这就是为什么它被冻结。尽管如此,感谢您的建议。 – user1707095
+0
@ user1707095:我的建议然后是正确的:通过直接调用'run()'你可以在事件线程上调用长时间运行的代码。 –
相关问题
- 1. Java Swing - UI冻结
- 2. 的Java Swing GUI冻结
- 3. Java Swing GUI重新聚焦时冻结
- 4. Java Swing按钮冻结程序
- 5. 的Java Swing组件
- 6. java进程被冻结(?)在linux上
- 7. Java图形用户界面被冻结
- 8. java inputStream冻结
- 9. EventListener冻结(Java)
- 10. Java swing组件序列化
- 11. 的Java Swing组件刷新
- 12. Java/swing:控制台组件?
- 13. Java Swing和组件定位
- 14. 建议Java Swing组件库
- 15. Java Swing - 半透明组件
- 16. Java Swing:居中组件
- 17. 调用modelToView()方法冻结Java Swing应用程序
- 18. Java Swing:图形用户界面冻结 - jstack解释
- 19. java Swing应用程序冻结时调用jpcapCaptor.openDevice方法
- 20. Java Swing多线程和用户界面冻结
- 21. 如何调试冻结Windows的Java swing应用程序?
- 22. Java Swing组织
- 23. Java程序冻结
- 24. Haskell列表被冻结
- 25. WebClient.DownloadDataAsync被冻结我的UI
- 26. 如果检测的Java Swing组件已经被隐藏
- 27. 与Swing组件
- 28. Java swing未被识别
- 29. Java swing的文件浏览器组件
- 30. Swing Java组件可见性控件
代码或它没有发生。 –