У меня есть JPanel с определенным размером. Я добавил JLabel. Теперь текст JLabel динамичен и поступает из базы данных. Когда я добавляю эти данные в JLabel, вместо того, чтобы оставаться в JPanel, он распространяется. Когда это происходит, данные внутри JPanel видны, но одно за пределами JPanel не видно (что очевидно). Я хочу знать, есть ли способ, с помощью которого данные вместо того, чтобы выйти из JPanel, останется в самом JPanel (означает, что он автоматически добавляет новую строку и перемещается в новую строку вместо того, чтобы выйти).
JLabel не имеет для этого метода. Но у вас есть несколько вариантов:
- Используйте HTML-теги в тексте, который вы установили
"Hello<br/>World"
. - Используйте JTextArea или JEditorPane и отключите редактирование. JTextArea имеют метод
setLineWrap(true)
, а JEditorPane обертывает строки по умолчанию.
Вам нужно использовать что-то более надежное, чем просто JLabel
, например, JTextArea
. Лучшее место, чтобы узнать, как добиться желаемого эффекта, – это прочитать учебник Swing здесь. Поскольку вы знаете размер своего JPanel
, вы можете установить размер вашего JTextArea
, и он должен автоматически обернуть линию для размещения ваших строк с переменным размером.