Java 为什么JScrollPane不工作?
当我注释掉frame.addhidden时,它只显示文本区域。当我不注释它时,它只显示一个带有灰色滚动条的灰色大框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.
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我想说你需要做出一个回答;