Как исправить отображение элементов с помощью Swing в Java - PullRequest
0 голосов
/ 09 октября 2019

Я работаю над приложением, использующим Swing на Java, однако у меня странные проблемы с отображением, мой код работает отлично, но вывод странный. Когда я запускаю программу. JFrame выглядит пустым или что-то отсутствует (JMenuBar, JMenuItem и т. Д. Невидимы), затем я максимизирую экран, и все остальные элементы становятся видимыми, затем я минимизирую экран, и он выглядит видимым. Я уверен, что код работает нормально, это просто проблема с отображением. Кто-нибудь может помочь, чтобы первый дисплей выглядел нормально?

Вот код


    JFrame frame = new JFrame("Menu");
    frame.setVisible(true);
    frame.setSize(400,200);
    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 Ответ

1 голос
/ 09 октября 2019

Поместите код ниже в конце. Он будет работать нормально.

Метод setVisible - это действие, как и show() до JDK 1.5.

frame.setVisible(true);
...