У меня есть графический интерфейс и событие click, я вызываю запросы базы данных для создания нескольких диаграмм. Я не вижу никакой диаграммы, пока все диаграммы не будут завершены, значит, есть некоторая проблема с компонентами графического интерфейса, которые переходят к следующему графику, прежде чем первый график получит complered и покажет его содержимое. Какова возможная причина и как избежать такой проблемы?Java Swing - UI Block
ответ
Нет проблем с компонентами. Существует проблема с вашим дизайном. Вы выполняете длительные запросы и обновления диаграмм в одном методе, запускаемом в потоке отправки событий. Таким образом, EDT полностью заблокирован и не может перерисовать что-либо до тех пор, пока все запросы не будут выполнены и все диаграммы не будут сгенерированы.
Использовать фоновый поток для выполнения запросов и генерировать диаграмму в EDT каждый раз, когда один запрос завершен. Класс SwingWorker помогает в этом. Прочитайте its API doc и the tutorial о параллелизме в Swing.
Спасибо за комментарий. У меня была такая же вырубка. Ниже вы найдете то, что я делаю btnGenerateGraph.addActionListener (новый ActionListener() {public void actionPerformed (ActionEvent arg0) {// Создаем графики для MYSQL mysqlGrpahGenerator.generateMYSQLGraph(); luceneGraphGenerator.generateLuceneGraph();}); Где вы хотите, чтобы я изменил код? – Jone
Итак, вы уже прочитали javadoc и учебник, к которому я привязался? Если нет, то прочитайте их. Там все объяснено. Если вы уже прочитали их, перечитайте их, поскольку вы, кажется, не поняли, что они объяснили. –
Ну, я его краснею, и я знаю, в чем проблема. Теперь я хочу внести изменения в свой код, но я не понимаю, где я должен обновлять код. На самом деле метод generateMYSQLGraph(); генерировать 8-10 графов, и это похоже на то, что я должен использовать run 8-10 раз :( – Jone
- 1. Java Swing Layout block
- 2. Java Swing GUI Try/Catch Block
- 3. Java Swing - UI Freezing
- 4. Java Swing UI Layout
- 5. Замена Java Swing UI
- 6. Компонент компоновки Java Swing UI
- 7. Java swing UI crash debugging
- 8. JQuery Block UI
- 9. jQuery block UI exceptions
- 10. WebClient - как BLOCK UI
- 11. Анализ макета Swing UI
- 12. Java Swing компонент UI Layout проблема
- 13. Java Swing UI break on action
- 14. Изменить размер java swing компонента из UI
- 15. Java Swing multi threads и ui freezes
- 16. Java - данные, подлежащие наблюдению Swing UI
- 17. Замена драйвера Java Swing UI для Fest
- 18. java swing checkboxes java swing
- 19. Как использовать JQuery UI Block
- 20. jQuery Block UI: node undefined
- 21. jQuery ui-grid/block issue
- 22. AngularJS UI router: Block view
- 23. block-ui-pattern не влияет
- 24. Пользовательский слайдер UI Swing
- 25. Java Swing - панель набора
- 26. Java Swing design
- 27. Когда создается поток Swing UI?
- 28. Swing Ui умножающая панель ghosting
- 29. Spring-Boot with Swing UI
- 30. Java CompletableFuture.complete() block
Можете ли вы показать код? – Jonas