1
当我注释掉frame.add(隐藏)时,它只显示文本区域。当我不评论它时,它只会显示一个灰色的灰色框,并带有灰色的滚动条。为什么JScrollPane无法正常工作?
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();
}
}
自从我使用Java以来已经有一段时间了。我认为这是因为您只能将Swing小部件添加到一个父项;因此,当您直接将其添加到框架时,将会从滚动窗格中删除“inputText”。 – iBelieve
'frame.add(inputText)'将从滚动窗格中删除文本区域,因此在此调用之后添加滚动窗格将导致一个空的滚动窗格(并且'inputText'已从框架中移除,因为这就是' BorderLayout'作品)... – MadProgrammer
@mspencer我会说你需要做出答案;) – MadProgrammer