我正在构建一个基本的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();
}
}
答案 0 :(得分:0)
通过在add
的构造函数中将super
更改为TesterTextArea
来解决问题!