public class Notepad extends JFrame{

public static void main(String[] args) {
Notepad np = new Notepad();
JMenuBar menuBar  = new JMenuBar(); JMenu[] menus = new JMenu[]{
new JMenu("文件"),
new JMenu("编辑"),
new JMenu("关于")};


for(int i=0;i < menus.length;i++){
menuBar.add(menus[i]);

               }

np.setJMenuBar(menuBar);
np.setVisible(true);
np.setTitle("学习swing");
np.setSize(300, 400);
}
}
这样一段很简单的代码,运行后刚开始时没有文件编辑关于这三个菜单,把窗体变换大小后,这三个菜单就出现了。请问这个是什么原因啊

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【wangking1997】截止到2008-06-29 20:55:44的历史汇总数据(不包括此帖):
    发帖数:14                 发帖分:310                
    结贴数:13                 结贴分:280                
    未结数:1                  未结分:30                 
    结贴率:92.86 %            结分率:90.32 %            
    值得尊敬
      

  2.   

    frame.validate();
    frame.pack();
    你试试
      

  3.   

    最后一句加上np.validate();就行了
      

  4.   

    试试:
    np.setTitle("学习swing"); 
    np.setSize(300, 400);
    np.setVisible(true); 
      

  5.   

    调整一下后面几行的顺序,这样应该可以了,另外,建议使用1.5以上的JDKimport javax.swing.JFrame;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;public class Notepad extends JFrame
    {
        private static final long serialVersionUID = 9204993628854962114L;    public static void main(String[] args)
        {
            Notepad np = new Notepad();
            JMenuBar menuBar = new JMenuBar();        JMenu[] menus = new JMenu[]{new JMenu("文件"), new JMenu("编辑"), new JMenu("关于")};        for(int i = 0; i < menus.length; i++)
            {
                menuBar.add(menus[i]);
            }        np.setJMenuBar(menuBar);
            np.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            np.setTitle("学习swing");
            np.setSize(300, 400);
            np.setVisible(true);
        }
    }
      

  6.   

    谢谢大家 把np.setVisible(true);放到最后就可以了
      

  7.   

    要先设置好大小后,再让它可见就行了,有时很多问题都是setvisible(true)这一行太靠前了