1

我在JMenu班上玩,发生了意想不到的事情。

我运行下面的代码,JFrame出现了,但MenuBar和内容没有。但是,当我JFrame用鼠标调整大小时,元素会突然出现。

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

public class Main {
  public static void main(String[] args) {
    JFrame frame = new JFrame("test");
    frame.setVisible(true);
    frame.setSize(300,300);     
    frame.setLocationRelativeTo(null); // centered on monitor   
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

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

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

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

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

    /**
     * Label and text and button
     */
    JLabel label = new JLabel("Hello there");
    JPanel panel = new JPanel();
    frame.add(panel);
    panel.add(label);

    JButton button = new JButton("Submit Button");
    panel.add(button);
    button.setToolTipText("this is my tooltip text");    
  }
}

任何人都可以看到我看不到的任何可疑的东西吗?

4

1 回答 1

0

原来它只是 frame.setVisible(true);

我需要把它放在下面。

于 2012-12-18T06:04:30.320 回答