У меня есть некоторые проблемы с живописью на качелях.
Мой следующий пользовательский интерфейс (посмотрите на следующую картинку) имеет JTextField с левой стороны, у которого есть возможность показывать подсказки автозаполнения. С правой стороны должны отображаться элементы, выбранные из текстового поля. Эти элементы содержатся в JPanel, который использует FlowLayout(FlowLayout.LEFT) в качестве менеджера компоновки.
Теперь при выборе некоторых элементов из текстового поля, которые будут добавлены в блок-схему, элементы не будут прокрашены. (Показано на следующем рисунке)
Теперь у меня есть две возможности показать эти незакрашенные элементы.
Во-первых: после изменения размера JFrame будут показаны элементы.
Во-вторых: выбор достаточного количества элементов, чтобы FlowLayout переносил строку. После разрыва строки будут показаны все элементы. При выборе дополнительных элементов они не будут отображаться до следующего разрыва строки.
Элементы после разрыва строки FlowLayout:
Что я могу сделать?
revalidate()
на панели FlowLayout после добавления элемента. Это заставит менеджер компоновки заново компоновать свои компоненты. Я не могу предложить больше, не видя кода. Проблема также может заключаться в методе покраски зеленых компонентов. - person David Lavender   schedule 13.02.2013revalidate()
не работает, попробуйте добавитьrepaint()
. - person alan.sambol   schedule 13.02.2013SwingUtilities.invokeLater()
? - кстати. это одна из причин, по которой я не люблю Swing! - person michael_s   schedule 13.02.2013JXLabel
. Выделите его для SSCCE и используйте вместо негоJLabel
. Я предполагаю, что вы сможете заставить его потерпеть неудачу таким же образом, используя чистый J2SE. - person Andrew Thompson   schedule 13.02.2013pack()
наJFrame
, чтобы он соблюдал новый размер панели (после добавления дополнительных вещей) - person David Kroukamp   schedule 13.02.2013super.XXX
реализацию? То есть, если мы не вызовемsuper.paintComponent(..)
(в качестве первого вызова) в переопределенномpaintComponent
изJComponent
, могут возникнуть визуальные артефакты... Пожалуйста, просмотрите публикацию SSCCE прямо сейчас, мы предполагаем, что могут быть другие факторы, которые будут отображаться только в вашем коде. - person David Kroukamp   schedule 13.02.2013