前些日子刚学完Java的图形界面,想写个小计算器练练手。结果出现了一个问题,就是每次运行时界面都是空的,当放大或者缩小以后界面才会出来。。。查了资料后发现原来是setVisible的位置问题。setVisible(true)要放到控件前面的话会先刷新出页面,结果就是后面的控件显示不出来。因此要把setVisible(true)放到构造函数的最后面。
改进前
public MyCalculateFrame()
{
//设置Frame的属性
setTitle("calculator");
setSize(300,400);
this.setLocation(700, 350);
setVisible(true);
//创建容器
Container container = this.getContentPane();
container.setLayout(new BorderLayout());
//创建文本框
textfield = new JTextField(30);
textfield.setEditable(false);
textfield.setHorizontalAlignment(textfield.LEFT);
textfield.setPreferredSize(new Dimension(200,30));//setprefersize
container.add(textfield,BorderLayout.NORTH);