JScrollPane中JTextArea上的滚动条不起作用

Rob*_*ert 11 java swing jscrollpane jtextarea

我无法让JTextArea滚动.我不知道你怎么会弄乱JScrollPane,但我似乎有,我只是看不到它.这是一个更大项目的所有部分,但下面的代码是我如何创建一个JTextArea并将其添加到JScrollPane.当您在文本区域的边缘外键入时,不会出现滚动条.将垂直滚动条设置为始终打开会生成一个不执行任何操作的滚动条.

import javax.swing.*;
import java.awt.*;

public class TextAreaTest extends JFrame{

    public TextAreaTest() {
     super("Text Area Scroller");

     Container c = getContentPane();

     JTextArea textarea = new JTextArea();
     textarea.setPreferredSize(new Dimension(300, 50));
     textarea.setLineWrap(true);
     textarea.setText("xx\nxx\nxx\nxx\nxx\nxx\nxx\nxx\nxx\nxx\nxx\nxx\nxx\nxx\n");

     JScrollPane scroller = new JScrollPane(textarea);

     c.add(scroller, BorderLayout.CENTER);
     pack();
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    public static void main(String args[]){
     TextAreaTest instance = new TextAreaTest();
     instance.setVisible(true);
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经尝试在构造函数中设置文本区域文本或行和列,两者都不起作用.它正在努力.任何想法?

Col*_*inD 27

设置滚动窗格的首选大小而不是文本区域.

  • 我在NetBeans 7.3中使用Swing布局编辑器.为了使这项工作,我不得不将JTextArea的PreferredSize属性设置为null.当我这样做时,垂直滚动条神奇地出现了. (2认同)