JMenuBar不会在Mac OS X Lion上显示,但在Win7上显示

时间:2012-02-23 17:19:32

标签: java swing jmenubar

主题标题已经解释了我的问题。这是一个已知的错误?我搜索了互联网,但找不到解决方案。

那么,你可能知道该怎么做吗?

public static void main(String[] args) {
    JFrame frame = new JFrame("Menu");
    frame.setVisible(true);
    frame.setSize(500,500);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    JMenuBar menubar = new JMenuBar();
    frame.setJMenuBar(menubar);

    JMenu file = new JMenu("File");
    menubar.add(file);
    JMenuItem exit = new JMenuItem("Exit");
    file.add(exit);

    JMenu help = new JMenu("Help");
    menubar.add(help);
    JMenuItem about = new JMenuItem("About");
    help.add(about);

class exitAction implements ActionListener {

    public void actionPerformed(ActionEvent e){
        System.exit(0);
    }   
}

exit.addActionListener(new exitAction());
}

1 个答案:

答案 0 :(得分:2)

1)您的代码行

frame.setVisible(true);

必须是main method

中的最后一行代码行

2)Swing GUI不是线程安全的,那么main method应该包含在invokeLater()