Java 为什么JScrollPane不工作?

Java 为什么JScrollPane不工作?,java,swing,jscrollpane,Java,Swing,Jscrollpane,当我注释掉frame.addhidden时,它只显示文本区域。当我不注释它时,它只显示一个带有灰色滚动条的灰色大框 import java.util.Scanner; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextArea; import javax.swing.JScrollPane; import java.awt.GridLayout; import java.awt.event.

当我注释掉frame.addhidden时,它只显示文本区域。当我不注释它时,它只显示一个带有灰色滚动条的灰色大框

import java.util.Scanner;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
import java.awt.GridLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class Panlindrome{
    public Panlindrome(){
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setTitle("Panlindrome?");
        frame.setSize(240,320);
        //frame.setLayout(new GridLayout(3,1));

        JTextArea inputText = new JTextArea(30,1);
        inputText.setLineWrap(true);

        JScrollPane hidden = new JScrollPane(inputText);
        hidden.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);

        frame.add(inputText);
        //frame.add(hidden);

        frame.setVisible(true);
    }

    public static void main(String[] args){
        Panlindrome check = new Panlindrome();
    }
}

不要将inputText添加到框架中;只添加隐藏


滚动窗格的内容已经是滚动窗格的子级。如果您还试图将其添加到框架中,实际上是框架的内容窗格,但不管怎样,它将同时位于两个位置,这是行不通的。

不要将inputText添加到框架中;只添加隐藏


滚动窗格的内容已经是滚动窗格的子级。如果您还尝试将它添加到框架中,实际上是框架的内容窗格,但不管怎样,它将同时位于两个位置,这是行不通的。

我已经有一段时间没有使用Java了。我认为这是因为您只能向一个父级添加Swing小部件;因此,当您直接将inputText添加到frame.frame.addinputText时,它将从滚动窗格中删除。addinputText将从滚动窗格中删除文本区域,因此在此调用之后添加滚动窗格将导致空滚动窗格,并且inputText将从框架中删除,因为这就是BorderLayout的工作原理…@mspencer我想说你需要做出一个回答;我已经有一段时间没有使用Java了。我认为这是因为您只能向一个父级添加Swing小部件;因此,当您直接将inputText添加到frame.frame.addinputText时,它将从滚动窗格中删除。addinputText将从滚动窗格中删除文本区域,因此在此调用之后添加滚动窗格将导致空滚动窗格,并且inputText将从框架中删除,因为这就是BorderLayout的工作原理…@mspencer我想说你需要做出一个回答;