Привет, у меня есть плитка (JLabel) на панели макета сетки Я называю это tile.setBorder (BorderFactory.createEmptyBorder()); чтобы обновить границу плитки , тогда я вызываю длинный метод, но изображение обновляется после выполнения длинного метода. Я хочу, чтобы настройка границы была выполнена, и изображение полностью обновлено на экране до вызова метода, как это сделать?Java Ожидание корректировки границы в макете сетки
0
A
ответ
1
Попробуйте с SwingUtilities.invokeLater()
убедиться, что EDT был инициализирован правильно.
Пожалуйста, взгляните ниже, чтобы узнать больше об этом.
Пример кода:
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
// any GUI related code will fall here
tile.setBorder(BorderFactory.createEmptyBorder());
// do not add any lengthy method call here
}
});
Для получения дополнительной информации прочитайте комментарии ниже.
0
но изображение обновляется после длинного метода.
Это связано с тем, что долговременная задача блокирует поток событий и не позволяет графическому интерфейсу перерисовываться, пока задача не будет завершена. Решение заключается в использовании отдельного потока для задачи.
Для получения дополнительной информации и примеров ознакомьтесь с разделом из учебника Swing по телефону Concurrency. Вы можете найти SwingWorker
больше удобств, которые создают вашу собственную тему.
Смежные вопросы
- 1. Группировка полей в макете сетки
- 2. Добавить кнопки в макете границы
- 3. GTK3 не будет перерисовывать после корректировки сетки
- 4. компонент не появляется в западной макете границы
- 5. Панели в макете загрузочной сетки
- 6. Offset дивы в макете сетки
- 7. JSpinner в макете сетчатой сетки
- 8. Укорачивание границы сетки
- 9. 960 сетки границы путаницы.
- 10. Изменение границы сетки
- 11. UICollectionView границы ячеек в макете потока
- 12. extjs4 перекрывающиеся панели в макете границы
- 13. как удалить границы в макете JQuery?
- 14. самозагрузки сетки для мобильного макете
- 15. Как вставить макет сетки внутри макета границы в java
- 16. PySide Frame не отображается в макете сетки
- 17. Невозможно исправить 4 кнопки в макете сетки
- 18. Получить положение объекта в макете сетки
- 19. vaadin - как поменять компоненты в макете сетки
- 20. Маркер Android между кнопками в макете сетки
- 21. Поиск элементов WebDriver в макете сетки
- 22. изображения в макете сетки на iphone sdk
- 23. Android: Как разместить изображения в макете сетки
- 24. «дыры» в макете сетки, Zurb Foundation
- 25. Как расширить QTreeView в макете сетки?
- 26. Как выровнять «коробки» в макете сетки
- 27. как отображать сообщения в макете сетки
- 28. Включение/отключение всех кнопок в макете сетки
- 29. Проблема в макете сетки с scrollview
- 30. Сложные представления макета в макете сетки
Если проблема все еще существует, пожалуйста, поделитесь своим примером кода, чтобы проанализировать его. – Braj
На самом деле у вас это в обратном порядке. Проблема заключается в том, что «длинный метод» выполняется на EDT. Вы не хотите, чтобы код выполнялся на EDT, поскольку это предотвращает перерисовку GUI. – camickr
@camickr Да, вы абсолютно правы. Еще раз спасибо. – Braj