Как осуществляется перенос слов в JTextPane, и как мне сделать так, чтобы строка была без пробелов? - PullRequest
6 голосов
/ 12 августа 2011

Как именно осуществляется перенос слов в JTextPane?

Я пытаюсь точно понять, как это работает, чтобы я мог изменить поведение.Прямо сейчас, если у меня есть стандартный JTextPane внутри JScrollPane, он будет разбивать текст на пробелы, но не на длинные слова - если есть строка текста без пробелов, которая шире окна, она не будет переносить / разбивать ипоявится горизонтальная полоса прокрутки.При увеличении ширины текста ширина ParagraphView (через getWidth ()) увеличивается для содержания текста.

В этой статье Лапицкого говорится, что LabelView.getBreakWeight () возвращает View.ExcellentBreakWeight.для меток с пробелами и View.GoodBreakWeight для меток без пробелов (и код в GlyphView.java, кажется, подтверждает это), так почему бы не сломаться?Это как-то возвращает BadBreakWeight вместо GoodBreakWeight?Или есть какая-то проблема с макетом?Или есть ошибка?

Вот некоторый код (для вашего удобства просмотра):

//somewhere inside JPanel or JFrame constructor
JTextPane textPane = new JTextPane();
JScrollPane scrollPane = new JScrollPane(textPane);
add(scrollPane);

Обратите внимание, что он по-прежнему не переносится, если я вынимаю панель прокрутки и просто используютекстовая панель (она просто обрезается при выходе за пределы окна).


Javadocs для Swing, по-видимому, недостаточно подробно описывает, как некоторые объекты (например, JTextPane, View и связанные объекты)) работать вместе.Есть ли дальнейшая документация по дизайну таких классов, возможно, с подробным описанием назначения каждого класса и как они все работают вместе?Разве это не общедоступно?(Или у меня единственная проблема с такими вещами? Или недостаточная документация ограничена вещами, которые не должны рассматриваться типичным разработчиком?)

1 Ответ

5 голосов
/ 12 августа 2011

Ссылка о пользовательском переносе (принудительный перенос и без переноса).http://java -sl.com / wrap.html

Ссылка на перенос букв http://java -sl.com / tip_html_letter_wrap.html

...