У меня есть проблемы с качели.Качающаяся картина №
Следующий пользовательский интерфейс (см. Следующий рисунок) имеет JTextField с левой стороны, который имеет возможность показывать подсказки автозаполнения. С правой стороны должны быть показаны элементы, которые выбираются из текстового поля. Эти элементы содержатся в JPanel, который использует FlowLayout (FlowLayout.LEFT) в качестве менеджера компоновки.
Теперь при выборе некоторых элементов из текстового поля, которое будет добавлено к FlowLayout, элементы не будут окрашены. (Показано на следующем рисунке)
Теперь у меня есть две возможности показать эти непокрашенные элементы.
Первый: после изменения размера JFrame будут показаны элементы.
Во-вторых: выбор достаточного количества элементов, чтобы FlowLayout выполнял разрывы строк. После разрыва строки будут показаны все элементы. При выборе дополнительных элементов они не будут отображаться до следующего разрыва строки.
Элементы после разрыва строки FlowLayout:
Что я могу сделать?
Попробуйте вызвать 'revalidate()' на панели FlowLayout после добавления элемента. Это заставит менеджера компоновки снова компоновать компоненты. Я не могу предложить больше, чем без кода. Проблема также может быть в вашем методе окраски зеленых компонентов. –
Если 'revalidate()' не работает, попробуйте добавить 'repaint()'. –
Я уже пробовал следующие «магические» методы swing: validate(), revalidate(), repaint(), updateUI(). – endian