2017-05-18 52 views
0

我正在构建一个包含带有JTextPanes的JPanel的多个选项卡的应用程序。在测试时,我写的文本比屏幕长,JTextPane水平增长。有人知道阻止它增长的方法吗?另外,如何强制文本一旦完成就跳至JTextPane的下一行?如何防止JTextPane水平增长...?

谢谢!

更新:我选择了Julien Gauthier提到的第一个选项,即使用JTextArea并启用Wrapping。它工作整齐。考虑到我的文本框(或区域)的大小对于我设置为文本捕获(800个字符)的限制绰绰有余,我不需要将滚动添加到文本区域。而且,我对JTextAreas而不是JTextPanes的save-text-to-file函数没有任何问题。非常感谢您的帮助!

+0

你可以先把它们放在JScrollPane的 – MadProgrammer

+0

谢谢@MadProgrammer,事实上我已经有了一个JScrollPane中的每个面板。 – erz11

+0

的'JTextPane'或含有'JTextPane' – MadProgrammer

回答

1

我写的文本比屏幕长,JTextPane水平增长。有人知道阻止它增长的方法吗?

将文本窗格添加到JScrollPane,然后将滚动窗格添加到框架。然后文本将自动换行,并在需要时显示滚动条。

阅读Swing教程Text Component Features中有关文本窗格工作示例的部分。

1

您有几种可能性:

  • 您可以首先通过一个JTextArea更换的JTextPane,并使用jTextArea.setLineWrap(boolea套)。

  • 你可以在你的JTextPane中使用一个editorKit,它将包装文本。请看下面这个例子:http://java-sl.com/tip_html_letter_wrap.html

  • 你可以使用JScrollPane,但是结果对于很长的句子来说会很难看。

祝你好运。

+0

非常感谢,我用面积替换了窗格,它的工作很整齐! – erz11