Как именно осуществляется перенос слов в 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 и связанные объекты)) работать вместе.Есть ли дальнейшая документация по дизайну таких классов, возможно, с подробным описанием назначения каждого класса и как они все работают вместе?Разве это не общедоступно?(Или у меня единственная проблема с такими вещами? Или недостаточная документация ограничена вещами, которые не должны рассматриваться типичным разработчиком?)