JTextPane — динамический перенос слов

Я пытался использовать jTextPane1.setText("xxx xxxx xxx xxxxx xx xxx xxxx xxx etc...");, но JTextPane вообще не переносит слова, показывая вместо этого весь текст только в одной строке. Было бы интересно добавить поддержку переноса слов при изменении размера jTextPane1...

Итак, мой вопрос: как сделать так, чтобы JTextPane поддерживал перенос слов?


person user592704    schedule 02.07.2012    source источник
comment
Я не использую JTextArea, потому что мне нужна поддержка динамической высоты.   -  person user592704    schedule 02.07.2012
comment
Я не совсем уверен, как заставить JTextArea поддерживать строки ++ :(   -  person user592704    schedule 02.07.2012
comment
@user592704 user592704 Я в замешательстве, так каков ваш вопрос о JTextArea или JTextPanes, потому что в моем ответе есть и то, и другое, однако теперь вы говорите, что не совсем уверены, как заставить JTextArea поддерживать строки ++ ??   -  person David Kroukamp    schedule 02.07.2012
comment
Мой вопрос о JTextPane   -  person user592704    schedule 02.07.2012


Ответы (3)


Попробуйте использовать JTextArea и вызовите setWrapStyleWord(true); в его экземпляре, это должно сделать то, что вам нужно.

РЕДАКТИРОВАТЬ:

Если вам нужно использовать JTextPane в качестве требования (что, как вы сказали, вы делаете), взгляните на аналогичный вопрос, который я нашел, какой ответ должен помочь: Как реализован перенос слов в JTextPane и как мне сделать переносить строку без пробелов?

person David Kroukamp    schedule 02.07.2012
comment
Эмм... проблема в JEditorPane, а не в JTextPane :( Вы имеете в виду вместо этого использование JEditorPane? - person user592704; 02.07.2012
comment
Однако первая ссылка не обсуждает использование JTextPanes, да, JEditor тоже может это сделать, как показано во второй ссылке ответа. - person David Kroukamp; 02.07.2012
comment
@ user592704, эта ссылка тоже может помочь: stackoverflow.com/questions/8980792/ - person David Kroukamp; 03.07.2012

У меня была та же проблема, решение от Дэвида Крукампа было очень полезным. Я изменил его на JTextArea и установил следующие свойства, как описано в этом учебнике< /а>:

    textArea.setLineWrap(true);
    textArea.setWrapStyleWord(true);
person xorissao    schedule 24.06.2015

Почему бы не использовать JTextArea вместо панели?

http://docs.oracle.com/javase/1.5.0/docs/api/

public void setWrapStyleWord (логическое слово)

Задает стиль обтекания, используемый, если текстовая область обтекает строки. Если установлено значение true, строки будут обтекаться границами слов (пробелами), если они слишком длинные и не помещаются в выделенную ширину. Если установлено значение false, строки будут переноситься по границам символов. По умолчанию это свойство имеет значение false. Параметры: word — указывает, следует ли использовать границы слов для переноса строк См. также: getWrapStyleWord()

person Chad    schedule 02.07.2012
comment
потому что меня интересует поддержка динамических строк ++ текстовой панели. Не прокрутка - person user592704; 02.07.2012