java - 将 JTextArea 更改为 JScrollPane 导致它不可见

标签 java swing jframe

我在使用 JScrollPanes 和 JTextArea 对象以及让它们协同工作时遇到问题。

如果我只是将 JTextArea 添加到我的 JPanel,它可以正常工作并显示在我指定的位置。但是,如果我将 contentPane.add(textArea) 更改为 contentPane.add(new JScrollPane(textArea)),则 textArea 不再可见并且也没有 textarea 的迹象。

这是我的代码:

public docToolGUI() {

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 611, 487);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setLayout(null);

        textField = new JTextField();
        textField.setBounds(253, 323, 86, 20);
        contentPane.add(textField);
        textField.setColumns(10);

        JLabel lblEnterRootDirectory = new JLabel("Enter Root Directory");
        lblEnterRootDirectory.setBounds(253, 293, 127, 20);
        contentPane.add(lblEnterRootDirectory);

        JButton btnGo = new JButton("Go");
        btnGo.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent arg0) {
                new ToolWorker().execute();
            }
        });
        btnGo.setBounds(253, 361, 89, 23);
        contentPane.add(btnGo);

        textArea = new JTextArea();
        textArea.setWrapStyleWord(true);
        textArea.setEditable(false);
        textArea.setBounds(25, 11, 560, 276);
        contentPane.add(new JScrollPane(textArea));




    }

最佳答案

尝试使用 JTextArea 的构造函数,它使用 2 个 int 值:

textArea = new JTextArea(rows, columns);

来自 tutorial :

The two arguments to the JTextArea constructor are hints as to the number of rows and columns, respectively, that the text area should display. The scroll pane that contains the text area pays attention to these hints when determining how big the scroll pane should be.

编辑:上面的示例是 LayoutManager 的提示,但我只是注意到您没有使用 LayoutManager。除非您有充分的理由不这样做,否则您应该这样做。

关于java - 将 JTextArea 更改为 JScrollPane 导致它不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13273752/

相关文章:

java - 在浏览器中运行java-applet源代码

java - 创建具有 3 个参数的 boolean 方法(String、int [非负]、double [仅限正])

Java:无法重新绘制 ImageIcon

java - Swing 中的完整表格背景颜色

java - 无法单击 '100' 搜索结果类和 xpath - selenium webdriver java

java - java中访问 'final'修饰符类

java - 自定义 Java 窗口标题栏菜单

java - JAVA中的GUI在同一帧中显示不同的图像

java - 从 XML 文件创建动态表单 - JFrame Java Swing

java - 无法在单个框架中显示多个按钮