JTextPane中的JTextArea - 想要换行

时间:2012-01-25 12:57:21

标签: java swing word-wrap jtextarea jtextpane

我想将文本添加到JTextArea,并在垂直方向上设置自动滚动条。

但是当在地理位置打字时,我想要一个自动新行,当行中没有空格时。 如果我只使用JTextArea就可以,但是当我把它放在JScrollPane中时,它不是 在需要时开辟新的一条线。

我该怎么做?

谢谢!

3 个答案:

答案 0 :(得分:7)

你必须配置textArea来包装:

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

您可以考虑阅读基本tutorial以有效开始: - )

答案 1 :(得分:0)

默认情况下,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);

作为旁注,请阅读tutorial @kleopatra,以便有助于在textareas上获得良好的基础。

答案 2 :(得分:-1)

JTextArea不是实现Scrollable接口吗?那你为什么需要JScrollPane?

编辑你的评论,这个适用于我:

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