这个问题已经在这里有了答案:
- JScrollPane不添加组件 1回答
我正在构建一个基本的Swing GUI,但是在这段小代码中,我没有将组件放在那里。 窗口似乎包装不正确,所以它太小了。 我做错了什么?
class TesterFont extends Font{
TesterFont(){
super(Font.MONOSPACED,Font.PLAIN,12);
}
}
class TesterTextArea extends JScrollPane{
final static int N_COLUMNS=24;
TesterTextArea(int nRows){
super(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
add(new JTextArea(nRows,N_COLUMNS){{
setFont(new TesterFont());
setLineWrap(true);
setWrapStyleWord(true);
}});
}
}
class TesterFrame extends JFrame{
TesterFrame(){
setTitle(Tester.class.getSimpleName());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
setLayout(new GridLayout(0,1));
add(new TesterTextArea(10));
add(new TesterTextArea(10));
pack();
setVisible(true);
}
}
class Tester{
void start(){
new TesterFrame();
}
public static void main(String[] arguments) throws Exception{
new Tester().start();
}
}