import java.awt.*;
import javax.swing.*;public class myTest
{
public static void main(String args[])
{
JFrame myMainFrame=new JFrame("主窗口");
myMainFrame.setSize(400,200);
myMainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
int screenWidth=screenSize.width;
int screenHeight=screenSize.height;
Dimension frameSize=myMainFrame.getSize();
int x=(screenWidth-frameSize.width)/2;
int y=(screenHeight-frameSize.height)/2;
myMainFrame.setLocation(x,y);

myMainFrame.setVisible(true);

JMenuBar myJmb=new JMenuBar();
myMainFrame.setJMenuBar(myJmb);//

JMenu fileMenu=new JMenu("文件");
JMenu editMenu=new JMenu("编辑");

myJmb.add(fileMenu);
myJmb.add(editMenu);

fileMenu.add(new JMenuItem("创建新文件"));
fileMenu.add(new JMenuItem("打开"));
fileMenu.add(new JMenuItem("保存"));
fileMenu.add(new JMenuItem("另存为"));
fileMenu.add(new JMenuItem("关闭推出"));

}


}为什么显示不出来 菜单????

解决方案 »

  1.   

    import java.awt.*;
    import javax.swing.*;public class myTest
    {
    public static void main(String args[])
    {
    JFrame myMainFrame=new JFrame("主窗口");
    myMainFrame.setSize(400,200);
    myMainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
    int screenWidth=screenSize.width;
    int screenHeight=screenSize.height;
    Dimension frameSize=myMainFrame.getSize();
    int x=(screenWidth-frameSize.width)/2;
    int y=(screenHeight-frameSize.height)/2;
    myMainFrame.setLocation(x,y);

    //myMainFrame.setVisible(true);

    JMenuBar myJmb=new JMenuBar();
    myMainFrame.setJMenuBar(myJmb);//

    JMenu fileMenu=new JMenu("文件");
    JMenu editMenu=new JMenu("编辑");

    myJmb.add(fileMenu);
    myJmb.add(editMenu);

    fileMenu.add(new JMenuItem("创建新文件"));
    fileMenu.add(new JMenuItem("打开"));
    fileMenu.add(new JMenuItem("保存"));
    fileMenu.add(new JMenuItem("另存为"));
    fileMenu.add(new JMenuItem("关闭推出"));

                      // 更改到此处
    myMainFrame.setVisible(true);

    }


    }
      

  2.   

    主要原因是对后来添加的组件界面并未更新过来.除了用上面的方法外,你可以在组件添加完后调用 myMainFrame.validate(); 即:
    import java.awt.*;
    import javax.swing.*;public class myTest
    {
    public static void main(String args[])
    {
    JFrame myMainFrame=new JFrame("主窗口");
    myMainFrame.setSize(400,200);
    myMainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
    int screenWidth=screenSize.width;
    int screenHeight=screenSize.height;
    Dimension frameSize=myMainFrame.getSize();
    int x=(screenWidth-frameSize.width)/2;
    int y=(screenHeight-frameSize.height)/2;
    myMainFrame.setLocation(x,y);

    myMainFrame.setVisible(true);

    JMenuBar myJmb=new JMenuBar();
    myMainFrame.setJMenuBar(myJmb);//

    JMenu fileMenu=new JMenu("文件");
    JMenu editMenu=new JMenu("编辑");

    myJmb.add(fileMenu);
    myJmb.add(editMenu);

    fileMenu.add(new JMenuItem("创建新文件"));
    fileMenu.add(new JMenuItem("打开"));
    fileMenu.add(new JMenuItem("保存"));
    fileMenu.add(new JMenuItem("另存为"));
    fileMenu.add(new JMenuItem("关闭推出"));

                     // 使刚添加的组件可见
    myMainFrame.validate();

    }


    }