Java JLabel, разбить текст на следующую строку?
давненько я задал вопрос!
Я разрабатываю приложение на Java, где есть. В любом случае, как вы можете или не можете видеть на картинке ниже, текст, который говорит Category Test
отрезается и в конечном итоге говорит . Есть ли способ, которым я могу "сломать" текст, как только он заполнит ширину метки? Вот изображение:
что я сделал
я использовал JTextPane вот так:
JTextPane text = new JTextPane();
SimpleAttributeSet attr = new SimpleAttributeSet();
StyleConstants.setAlignment(attr, StyleConstants.ALIGN_CENTER);
pane.add(text, c);
затем я добавил свой текст, но все равно спасибо!
3 ответов
насколько я помню, вам нужно использовать JTextArea, если вы хотите textwrap. Надписи не делает этого.
вы можете на StyledLabel компонента из общего проекта JIDE открытым исходным слоем на http://java.net/projects/jide-oss/.
проблема с подходом html JLabel заключается в том, что он не автоматически переносится и примерно в 20-40 раз медленнее, чем обычная JLabel.
проблема с JTextArea или подход JTextPane это был странный вопрос размера и тоже 20 раз медленнее.
StyledLabel расширяет JLabel. Автоматическая линия оборачивая как раз одно из много особенности он добавляет. И производительность так же быстро, как простой JLabel.
надеюсь, это поможет.