2010-06-07 116 views
2

我正在使用Java Swing。我在一個面板中有一個textarea。我不需要該textArea的水平滾動條,只需要一個垂直滾動條。我禁用了自動滾動條選項,但水平滾動條仍在工作。請幫助我在thz。刪除textarea的水平滾動條

回答

9
ta.setLineWrap(true) 

設置 文本區的換行策略。如果設置爲true,那麼行 將被包裝,如果它們太長 以適合分配的寬度。如果 設置爲false,該線將永遠是 展開

+0

其工作.. 非常感謝Wajdy Essam .. – charan 2010-06-07 08:48:08

0

兩個例子中,換行,方法和滾動窗格方法:

public class Test { 
    public static void main(String[] args) { 

     // example text 
     String rep = "The quick brown fox jumps over the lazy dog."; 
     String all = rep; 
     for(int i = 0; i < 100; i++) 
      all += "\n" + rep; 

     // create the line wrap example 
     JTextArea first = new JTextArea(all); 
     first.setLineWrap(true); 

     // create the scroll pane example 
     JScrollPane second = 
      new JScrollPane(new JTextArea(all), 
       JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, 
       JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); 

     // lay it out 
     JFrame f = new JFrame("Test"); 
     f.setLayout(new GridLayout(1,2)); 
     f.add(first); 
     f.add(second); 
     f.setSize(400, 300); 
     f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     f.setVisible(true); 
    } 
} 
0

的JTextPane沒有方法來啓用或禁用線包裝,最好的選擇是:

private JTextPane noWrapTextPane = new JTextPane() { 
     @Override 
     public boolean getScrollableTracksViewportWidth() { 
      return getUI().getPreferredSize(this).width 
        <= getParent().getSize().width; 
     } 
    }; 
+0

這個問題是關於'JTextArea',但更好的可能是發佈[SSCCE](http://sscce.org/),短的,可運行的,可編譯的用一個'JFrame'和兩個帶有diff設置的'JTextPane's,演示了你的代碼被剪切掉了...... – mKorbel 2012-12-31 13:57:52

+1

JTextArea有一個方法來啓用或禁用換行setLineWrap和方法來啓用或禁用換行setWrapStyleWord ... – barwnikk 2013-10-07 18:51:34

1

當您的文本區域太小時,滾動條進入文本區域。這是因爲您在netbeans文本區域中的默認數字是。

如果您不想顯示滾動條,請取textarea屬性並根據您的大小(例如10)將列號更改爲一個值。

而滾動條將不會顯示。