JTextArea в JTextPane - Хотите новую строку - PullRequest
0 голосов
/ 25 января 2012

Я хочу добавить текст в JTextArea и иметь автоматическую полосу прокрутки по вертикали.

, но при горизонтальном наборе я хочу автоматически новую строку, когда в строке нет пробелов. Если я используютолько JTextArea все в порядке, но когда я помещаю его в JScrollPane, он не создает новую строку при необходимости.

Как я могу это сделать?

Спасибо!

Ответы [ 3 ]

7 голосов
/ 26 января 2012

вам нужно настроить textArea для переноса:

textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);

Возможно, вы захотите прочитать базовый учебник , чтобы начать эффективно: -)

0 голосов
/ 26 января 2012

По умолчанию JTextArea не будет переносить текст, поэтому вы должны вручную определить это поведение:

textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);

Также убедитесь, что вы правильно настраиваете JScrollPane:

JScrollPane sp = new JScrollPane(textArea);

//JScrollPanes are just like JPanels (except for the scrollbars) so be careful not to just add the JComponent to your frame; add the container instead.

frame.add(sp);

В качестве примечания, прочитайте учебник @kleopatra, который так услужливо предложил получить хорошую основание для текстовых областей.

0 голосов
/ 25 января 2012

Разве JTextArea не реализует интерфейс Scrollable?Так зачем вам JScrollPane?

Отредактируйте свой комментарий, этот работает для меня:

JScrollPane sP= new JScrollPane(txtarea);
sP.setBounds(10,60,780,500);
sP.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
...