我正在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按钮冻结程序
- 4. Java Swing GUI重新聚焦时冻结
- 5. Java Swing GUI冻结 - 观察者模式
- 6. Swing应用程序冻结
- 7. 的Java Swing组件
- 8. Java Swing - 分组组件
- 9. java进程被冻结(?)在linux上
- 10. Java图形用户界面被冻结
- 11. Java JFrame冻结
- 12. EventListener冻结(Java)
- 13. java inputStream冻结
- 14. Netbeans Java Swing组件冗余
- 15. Java Swing和组件定位
- 16. Java Swing ghost/doubled组件?
- 17. Java swing组件序列化
- 18. 未显示Java Swing组件
- 19. Java Swing - 半透明组件
- 20. 建议Java Swing组件库
- 21. Java Swing MVC动态组件
- 22. Java swing组件实例化
- 23. Java Swing组件放置
- 24. Java/swing:控制台组件?
- 25. 的Java Swing组件刷新
- 26. Java Swing:居中组件
- 27. java Swing应用程序冻结时调用jpcapCaptor.openDevice方法
- 28. Java Swing多线程和用户界面冻结
- 29. Java Swing:图形用户界面冻结 - jstack解释
- 30. 调用modelToView()方法冻结Java Swing应用程序
代码或它没有发生。 –