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



线程标题已经解释了我的问题。这是一个已知的错误吗?我在网上搜索了一下,但找不到解决方案。

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

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)您的代码行

frame.setVisible(true);

必须是main method 中的最后一行代码

2) Swing GUI不是线程安全的,那么main method应该被包装到invokeLater()中

相关内容

  • 没有找到相关文章