Проблемы с перерисовкой в ​​Java JPanel

У меня есть приложение Java Swing с панелью, которая содержит три JComboBoxeс, которые не рисуют должным образом.
Поля со списком отображаются как стрелка вниз с правой стороны, но без метки текущего выбранного значения.
Поля будут правильно перерисованы, если размер окна будет увеличен или уменьшен на один пиксель.

Все мои Googling указал на вызов revalidate()на , JPanelчтобы исправить это, но это не работает для меня.
Вызов updateUI()функции JPanelизменил его с того, что всегда отображался неправильно на неправильный показ половину времени.

Кто-нибудь еще видел это и нашел другой способ вызвать перерисовку полей со списком?

21.08.2008 19:26:44
1 ОТВЕТ
РЕШЕНИЕ

Можете ли вы дать нам больше информации о том, как добавить поля со списком в JPanel? Это довольно распространенная вещь в Swing, поэтому я сомневаюсь, что это проблема с JVM, но я думаю, что все возможно.

В частности, я бы дважды проверил, чтобы убедиться, что вы не обращаетесь к GUI из каких-либо фоновых потоков. В этом случае, возможно, вы читаете выбор из БД или что-то в этом роде и обновляете JComboBox из фонового потока, что является большим нет-нет в Swing. Смотрите SwingUtils.invokeLater ().

6
21.08.2008 19:30:02