如何防止JTextPane水平增长...?

时间:2017-05-18 05:21:49

标签: java swing

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

谢谢!

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

2 个答案:

答案 0 :(得分:1)

  

我写的文字长于屏幕,JTextPane水平增长。有人知道一种阻止它成长的方法吗?

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

阅读Text Component Features上Swing教程中的部分,了解文本窗格的工作示例。

答案 1 :(得分:1)

您有几种可能性:

  • 您可以先用JTextArea替换JTextpane,然后使用jTextArea.setLineWrap(boolea wrap)。

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

  • 您可以使用JScrollPane,但结果会因长句而难看。

祝你好运。