用swing开发的gui程序,run了以后,为什么要拖动一下窗口的大小,里面的控件(JButton and JTextfield)才能够显示出来啊,这个问题一直想问,小弟菜鸟,谢谢

解决方案 »

  1.   

    先通过add方法添加控件,最后在setVisible(true)。如果颠倒过来就会发生你说的问题。
      

  2.   

    楼上说的是,因为Swing每改变一下窗口都要重画一下
      

  3.   

    这样的情况多半发生在窗体显示之后又插入了控件,如果是这样,你只要在插入控件后重新验证一下容器中的控件就可以了
    JPanel pane = new JPanel();
    // 窗体已经显示
    pane.add(new JButton("Test Button")); // 插入一个新的控件
    pane.validate(); // 重新验证内部控件