[code]
public class Login extends JFrame { /**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
Login l = new Login();
l.launchFrame();
l.setVisible(true);
l.setSize(400,380); }

private JLabel name = null;

public void launchFrame(){
name = new JLabel("哈哈");
name.setBounds(20,20,40,40);
this.getContentPane().add(name);
}}
[/code]比如我程序是这么写的,每次启动程序后 JFRAME窗口什么都不显示,只有最大化最小化或者手动调整JFrame大小才能显示出里面的内容。
请问这是怎么回事啊?

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【chenniaoc】截止到2008-06-26 12:34:52的历史汇总数据(不包括此帖):
    发帖数:3                  发帖分:60                 
    结贴数:0                  结贴分:0                  
    未结数:3                  未结分:60                 
    结贴率:0.00  %            结分率:0.00  %            
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   

    启动之前加一句 frame.validate();
      

  3.   


    正解!!使用 validate 方法会使容器再次布置其子组件
      

  4.   

    遇到过同样的问题,frame.validate()可以解决
      

  5.   

    你先设置窗体的大小,再设置它为可见。如:
    setSize(int width , int height) ;
    setVisible(true) ;
      

  6.   

    窗口显示的代码 一定要在setVisible之前就可以了
      

  7.   

    frame.validate() 可以,但正常情况应该不用调用此方法窗口就能显示出内容,代码贴出来,看看哪里不合理。