我用swing 写的 application 在运行后显示不出界面,需要点击一下或移动边框才显示界面... 我贴了个示例程序望高手帮我看看
这下面是一个示例,我刚学swing,求帮忙!Container我也试用过,还是不行...
这应该是个低级问题,可我实在解决不了了...
import javax.swing.JButton;
import javax.swing.JFrame;
public class helpme {  
public static void main(String[] args) {  
JFrame f = new JFrame();  
f.setTitle("哪位大虾帮帮忙!");
f.setSize(300, 200);
f.setLocation(512, 100);
f.setVisible(true);    
JButton b=new JButton("我运行后不出现,需要点一下边框才出现...");
f.add(b);        
}
}

解决方案 »

  1.   

    import javax.swing.JButton;
    import javax.swing.JFrame;
    public class helpme {     
        public static void main(String[] args) {         
            JFrame f = new JFrame();  
            f.setTitle("哪位大虾帮帮忙!");
            f.setSize(300, 200);
            f.setLocation(512, 100);
            JButton b=new JButton("我运行后不出现,需要点一下边框才出现...");        
            f.add(b); 
            f.setVisible(true);              
        }
    }此方法就可以解决你的问题
      

  2.   

    lz说的不是很清楚啊,我运行了你的程序是可以的啊
    不过我个人觉的,还是有问题,我也是初学者啊,
    向JFame中添加组件应该用getConTentPane()方法或是建立一个中间容器
    import javax.swing.JButton;
    import javax.swing.JFrame;
    public class helpme {     
        public static void main(String[] args) {         
            JFrame f = new JFrame();  
            f.setTitle("哪位大虾帮帮忙!");
            f.setSize(300, 200);
            f.setLocation(512, 100);
            f.setVisible(true);       
            JButton b=new JButton("我运行后不出现,需要点一下边框才出现...");        
            f.getContentPane().add(b);        
        }
    }
    你在试试看行不行啊
      

  3.   

    我自己也有疑惑了啊,lz的程序若是用awt写的,那么f.add(b);则是可以的 
    但是用swing写,f.add(b);也可以,不知道为什么啊,请高手帮助啊
      

  4.   

    JFrame frame = new JFrame("test");
    frame.setPreferredSize(new Dimension(500,500));
    frame.getContentPane().add(new JButton("test"));
    frame.pack();
    frame.setVisible(true);
      

  5.   

    以上代码jdk1.5以上可用,
    frame.setVisible(true);这句之后,最好不要再对frame有任何操作,
    f.add(b);这种写法貌似也不是很好,最好通过frame.getContentPane()操作组件
      

  6.   

     SONGXIANBO 太谢谢你了,感动呀,原来最后设置显示就可以了,我是做jsp开发的,这次突然要用一下这个所以遇到了这个问题,我想了一上午呀....是因为先设置显示是还没添加界面元素才不显示的吗,这个还真不清楚了,按说不应该呀...哈哈。谢谢你了!一会儿结分:)
      

  7.   

    谢谢了,我按照songxianbo的方法就没问题了,在我的机器上如果把setVisible放到前面,运行程序后先会出现一个空的窗体,之后我拉动一下边框才出现组件的。
      

  8.   

    恩,好的。谢谢了,我以前就学了AWT的用法,后来就做jsp了。这次突然要用,又看到swing界面要好些,所以是现学现卖。getContentPane()我看到了,不过还不熟练,所以没有用他。可以看出我都是安照AWT的方式写的。谢谢你的建议!