我有一個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