2017-05-18 82 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