我有一个GUI和点击事件,我打电话数据库查询生成多个图表。在所有图表完成之前,我看不到任何图表,意味着在第一个图表完成并显示其内容之前,GUI组件会出现某些问题,它们会移至下一个图表。可能的原因是什么以及如何避免这种问题?的Java Swing - UI模块
回答
没有与该组件没有问题。您的设计存在问题。您正在执行长时间运行的查询以及在事件分派线程中运行的单个方法中图表的更新。通过这样做,EDT完全被阻塞,并且不能重新绘制任何东西,直到所有查询都已运行并且所有图表都已生成为止。
使用后台线程来执行查询,并生成图表,在EDT,每一个查询完成时间。 SwingWorker类有助于做到这一点。有关Swing中的并发性,请阅读its API doc和the tutorial。
感谢您的评论。我有同样的感觉。请在下面找到我在做什么btnGenerateGraph.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent arg0){//为MYSQL生成图形mysqlGrpahGenerator.generateMYSQLGraph(); luceneGraphGenerator.generateLuceneGraph();});你想让我在代码中改变的地方? – Jone
那么,你已经阅读了javadoc和我链接的教程?如果没有,然后阅读它们。这里都有解释。如果你已经阅读过它们,然后重新阅读它们,因为你似乎没有理解他们解释的内容。 –
好吧,我冲它,我知道是什么问题。现在我想在代码中进行更改,但我没有得到更新代码的位置。其实方法generateMYSQLGraph();生成8-10图,这就像我必须使用运行8-10次:( – Jone
- 1. Java Swing - UI冻结
- 2. 自定义滑块UI Swing
- 3. Java Swing模块化配色方案
- 4. Java Swing布局块
- 5. Java Swing UI属性列表?
- 6. Java Swing UI更改方法
- 7. Java Swing SearchBox模型
- 8. 的Java Swing - 如何UI组件
- 9. 带有Swing UI的Java线程
- 10. 以模块化方式Java Swing + MVC模式
- 11. 的Java/Swing的音量滑块
- 12. 从UI调整java swing组件大小
- 13. Java Swing调整UI重叠元素
- 14. JRebel不会重新加载java swing ui
- 15. Java - 数据将被Swing UI观察
- 16. Java GUI Swing模型说明
- 17. 的jQuery UI模块故障
- 18. 如何用传统Java应用程序中的Griffon替换现有的Swing UI模块?
- 19. 在Swing中构建一个类似于SO标记的搜索模块UI
- 20. java swing复选框java swing
- 21. 使用java swing
- 22. 的Java Swing重绘()
- 23. Java Swing中的模型/ MVC的用途
- 24. Swing UI布局分析
- 25. 填充矩形中的Java Swing模式
- 26. Java Swing - JButton模型中的isRollover()值
- 27. Java Swing:系统级组件的规模?
- 28. 的Java Swing - JPanel并的PropertyChangeListener
- 29. 龙卷风UI模块
- 30. 诅咒:: UI ::网格模块
你能展示一些代码吗? – Jonas