2010-06-07 99 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)将列号更改为一个值。

而滚动条将不会显示。