JMenuBar не отображается на Mac OS X Lion, но отображается на Win7 - PullRequest
1 голос
/ 23 февраля 2012

заголовок темы уже объясняет, в чем моя проблема.Это известная ошибка?Я искал в интернете, но не смог найти решение.

Итак, вы знаете, что делать?

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 Ответ

2 голосов
/ 23 февраля 2012

1) Ваша строка кода

frame.setVisible(true);

должна быть последней строкой кода в main method

2) Swing GUI не является потокобезопасным, тогда main method следует поместить в invokeLater ()

...