在 Java GUI 中创建下拉菜单栏

Creating a Drop Down Menu Bar in Java GUI

我正在练习使用 swing 和 awt 导入在 Java 中创建 GUI 程序。我的主要 class 中的大部分内容都在工作,除了在 GUI 顶部获得一个带有名为文件的选项卡的下拉菜单。我有两段代码,一段在 JPanel class 中,另一段在 public main() class 中。我最终想要一个文件菜单,顶部有保存和另存为选项。不需要调用任何东西或添加侦听器,只是为了让它们在程序本身上可见。我正在使用 JMenuBar menuBar 和 JMenu fileMenu 来创建它。我究竟做错了什么?以下片段:

JMenuBar menuBar = new JMenuBar();
JMenuItem saveItem, saveAllItem;
JMenuItem menuItem = new JMenuItem("Save");

    setJMenuBar(menuBar);
    JMenu fileMenu = new JMenu("File");
    saveItem = fileMenu.add("Save");
    saveAllItem = fileMenu.add("Save All");
    panel.add(menuItem);

    setVisible(true);

不需要将JMenuBar 对象添加到JPanel,因为它只与JFrame 链接。
您需要将 JMenuBar 对象传递给 JFrame 方法 setJMenuBar() 以便在 window 中设置菜单栏。
您可以使用此代码为 JFrame 创建下拉菜单:

    JMenuBar menuBar = new JMenuBar();
    JMenuItem saveItem, saveAllItem;

    // Menu
    JMenu fileMenu = new JMenu("File");

    // Menu Item (Drop down menus)
    saveItem = new JMenuItem("Save");
    saveAllItem = new JMenuItem("Save All");

    // Adding menu items to menu
    fileMenu.add(saveItem);
    fileMenu.add(saveAllItem);

    // adding menu to menu bar
    menuBar.add(fileMenu);

    // setting menubar at top of the window.

    // if you create a object of JFrame in class then code to set JMenuBar to JFrame will be:
    // jframe.setJMenuBar(menuBar);
    // if class is extending JFrame then it will be like this:
    setJMenuBar(menuBar);