删除textarea的水平滚动条

时间:2010-06-07 08:17:17

标签: java swing

我正在使用Java Swing。我在面板中有一个textarea。我不需要该textArea的水平滚动条,只需要一个垂直滚动条。我禁用了自动滚动条选项,但水平滚动条仍然有效。请帮助我。

4 个答案:

答案 0 :(得分:9)

ta.setLineWrap(true)
  

设置的换行策略   文字区域。如果设置为true则为行   如果它们太长就会被包裹起来   适合分配的宽度。如果   设置为false,行总是如此   展开

答案 1 :(得分:1)

当您将文本区域设置得太小时,滚动条会进入文本区域。这是因为netbeans文本区域中的默认数字为 20

如果您不想显示滚动条,请使用textarea属性并根据您的尺寸更改列号(例如10)。

滚动条不会显示。

答案 2 :(得分: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);
    }
}

答案 3 :(得分:0)

JTextPane没有启用或禁用换行的方法,最好的选择是:

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