java - 添加子菜单

标签 java swing jmenu jmenuitem

所以我试着查看 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);

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

关于java - 添加子菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30000464/

相关文章:

java - ConnectionTimeout 与 SocketTimeout

java - jmenu 中的图像来自 java 中的 jar 文件

Java 套接字 - 如何确定服务器端的数据类型?

java - 为什么在 Java 泛型右侧的集合类型中没有任何作用?

java - 打印DefaultTreeModel的内容

java - 如何在Java中单击JLabel时更改JLabel背景

java - 如何将鼠标单击监听器添加到 jTable 单元格中的 jCombobox?

java - JTable单元格编辑可以消耗按键吗?

java - Swing JComponent.getComponentCount() 始终返回 0

java - 将代码拆分为不同的类 [Bukkit/Spigot]