键了一个弹程序登陆程序,“确定”后进入程序主界面,但是主界面上的东西都看不到,只有改变对话框的大小后才能看到请问有什么办法解决这个问题,谢谢~

解决方案 »

  1.   

    if (rs.next()) {
    this.setVisible(false);
    this.dispose();
    this.WinFrame.setVisible(true);
    this.WinFrame.setSize(400, 400);
    this.WinFrame.update(this.WinFrame.getGraphics());
    this.WinFrame.repaint();
    } else {
    JOptionPane.showMessageDialog(null, "用户名或密码错误", "密码",
    JOptionPane.ERROR_MESSAGE);
    }
      

  2.   

    我试了一下,解决办法很简单,先this.WinFrame.setSize(400, 400);再this.WinFrame.setVisible(true); 就行了。
    你先让其显示,再改变布局就会有这样的问题。
    也可以用this.WinFrame.validate();来解决,以下是其API说明,印证了我的说法。
    public void validate():验证此容器及其所有子组件。 
    使用 validate 方法会使容器再次布置其子组件。已经显示容器后,在修改此容器的子组件的时候(在容器中添加或移除组件,或者更改与布局相关的信息),应该调用上述方法。 
      

  3.   

    首先将this.setVisible(false)改为this.setVisible(true)不然你就看不见了,
    然后将this.WinFrame.setSize(400, 400)数值设置大一点就ok了