Во всех версиях Java до 6 по умолчанию JTextPane, помещенная внутри JScrollPane, была: оберните строки на границах слов, если это возможно. Если нет, то заверните их в любом случае.Оберните длинные слова в JTextPane (Java 7)
В JDK 7 поведение по умолчанию выглядит следующим образом: оберните линии на границе слов, если это возможно. Если нет, просто увеличьте ширину JTextPane (никогда не завершайте длинные слова).
Легко воспроизвести это, вот SSCCE:
public class WrappingTest extends JFrame
{
public static void main (String[] args)
{
new WrappingTest();
}
public WrappingTest()
{
setSize(200,200);
getContentPane().setLayout(new BorderLayout());
JTextPane jtp = new JTextPane();
JScrollPane jsp = new JScrollPane(jtp);
jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
getContentPane().add(jsp,BorderLayout.CENTER);
setVisible(true);
}
}
Просто запустите его в JDK 6 и в JDK 7, написать несколько небольших слов, и написать длинное слово, и вы увидите, разница.
Мой вопрос прост ... новое поведение по умолчанию в JDK 7 полностью испортит мою программу (они должны быть более осторожны в Oracle с изменением такого рода значений по умолчанию ... они кажутся несущественными, но когда вы используете JTextPane, чтобы отображать данные, которые обычно содержат очень длинные строки букв, они не так несущественны - на самом деле я собираюсь подать отчет об ошибке, но мне бы хотелось иметь временное решение, пока/если они не разрешают Это). Любой способ вернуться к предыдущему поведению?
Обратите внимание, что я проверил ответ на соответствующий вопрос How is word-wrapping implemented in JTextPane, and how do I make it wrap a string without spaces?, но он не отвечает на этот вопрос - он предоставляет способ сделать обертку JTextPane без каких-либо ограничений для пробелов, но для меня желаемое поведение разделено строки по пробелам, если это возможно, и в других местах, если это невозможно (как в предыдущих версиях Java).
ли с помощью [ 'invokeLater()'] (http://download.oracle.com/javase/tutorial/uiswing/concurrency/ initial.html) help? –
No ... такой же эффект. –
У меня точно такая же проблема. Связано: https://forums.oracle.com/forums/thread.jspa?threadID=2374090 (нет ответов ...) Плакат там уже создал отчет об ошибке, но он был закрыт как «не ошибка», без слово объяснения ... – PhiLho