JTextPane中的JTextArea-想要新行



我想向JTextArea添加文本,并在垂直方向上有一个自动滚动条。

但是当水平键入时,我希望在行中没有空格时自动换行。。如果我只使用JTextArea,它是可以的,但当我把它放在JScrollPane中时,它不是需要时画一条新线。

我该怎么做?

谢谢!

您必须配置要包装的textArea:

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

您可以考虑阅读一个基本教程来有效地开始:-)

默认情况下,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,它非常有帮助地建议在文本区域上建立一个良好的坚实基础。

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

编辑到您的评论,这个对我有效:

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

最新更新