Java 添加子菜单

Java 添加子菜单,java,swing,jmenu,jmenuitem,Java,Swing,Jmenu,Jmenuitem,因此,我试图查看Java文档以获得这方面的帮助,但很快就被弄糊涂了。我正在尝试将一个子菜单添加到菜单项“编辑”中,该菜单项将包含子菜单的复制和粘贴,并且我确定如何执行该操作。我创建了一个子菜单变量,我使用它吗?请帮忙,谢谢。代码如下 import javax.swing.JFrame; import javax.swing.JMenuBar; import javax.swing.JMenu; import javax.swing.JMenuItem; public class MyJFram

因此,我试图查看Java文档以获得这方面的帮助,但很快就被弄糊涂了。我正在尝试将一个子菜单添加到菜单项“编辑”中,该菜单项将包含子菜单的复制和粘贴,并且我确定如何执行该操作。我创建了一个子菜单变量,我使用它吗?请帮忙,谢谢。代码如下

import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;

public class MyJFrame extends JFrame
{
JMenuBar menubar;
JMenu menu, submenu;
JMenuItem mi;

public MyJFrame(String title)
{
    super(title);
    menubar = new JMenuBar();
    setJMenuBar(menubar);
    buildMenu();
}

void buildMenu()
{
menu = new JMenu("File");

           mi = new JMenuItem("New");
           menu.add(mi);
           menubar.add(menu);

           mi = new JMenuItem("List Files");
           menu.add(mi);
           menubar.add(menu);
           menu.addSeparator();

           mi = new JMenuItem("Save As");
           menu.add(mi);
           menubar.add(menu);
           menu.addSeparator();

           mi = new JMenuItem("Close");
           menu.add(mi);
           menubar.add(menu);

    menu = new JMenu("Tools");

           mi = new JMenuItem("Sort");
           menu.add(mi);
           menubar.add(menu);

           mi = new JMenuItem("Search");
           menu.add(mi);
           menubar.add(menu);

           mi = new JMenuItem("Edit");
           menu.add(mi);
           menubar.add(menu);
           mi = new JMenuItem("Copy");
           menu.add(mi);
           menubar.add(menu);
           mi = new JMenuItem("Paste");
           menu.add(mi);
           menubar.add(menu);
}
}

创建菜单而不是菜单项进行编辑,并添加菜单项复制和粘贴。然后将“编辑”菜单添加到“工具”菜单

   menu = new JMenu("Tools");

       mi = new JMenuItem("Sort");
       menu.add(mi);
       mi = new JMenuItem("Search");
       menu.add(mi);
      JMenu med = new JMenu("Edit");
        mi = new JMenuItem("Copy");
       med.add(mi);
        mi = new JMenuItem("Paste");
       med.add(mi);
       menu.add(med);
     menubar.add(menu);

注意:我已经编辑了代码的最后一部分。只需将“工具”菜单中的代码替换为此,然后尝试此操作。如果出现错误,请告诉我。

以下是一个简单的示例,说明如何操作:

JMenuBar menuBar = new JMenuBar();

// Edit Menu
JMenu editMenu = new JMenu("Edit");    
menuBar.add(editMenu);

// Edit -> Copy
JMenuItem copyMenuItem = new JMenuItem("Copy");
editMenu.add(copyMenuItem);

// Edit -> Paste
JMenuItem pasteMenuItem = new JMenuItem("Paste");
editMenu.add(pasteMenuItem);
摘自


为什么要将
菜单
添加到
菜单栏
三次?你应该删除它。完成了,实际上我刚刚复制并编辑了他的最后一段代码。所以它被留下了…很好。错误可能会发生;)虽然我不是你的兄弟,对不起。
menu.addSeparator();
submenu = new JMenu("A submenu"); 

menuItem = new JMenuItem("An item in the submenu");
submenu.add(menuItem);

menuItem = new JMenuItem("Another item");
submenu.add(menuItem);
menu.add(submenu); // you add the submenu to your existing menu