添加子菜单
Adding a submenu
所以我试图查看 Java 文档以寻求帮助,但很快就搞糊涂了。我正在尝试向菜单项 'Edit' 添加一个子菜单,该菜单项将包含子菜单复制和粘贴,我知道如何操作。我创建了一个子菜单变量,我可以使用它吗?请帮助,谢谢。代码如下。
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);
https://docs.oracle.com/javase/tutorial/uiswing/components/menu.html
的简化摘录
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
所以我试图查看 Java 文档以寻求帮助,但很快就搞糊涂了。我正在尝试向菜单项 'Edit' 添加一个子菜单,该菜单项将包含子菜单复制和粘贴,我知道如何操作。我创建了一个子菜单变量,我可以使用它吗?请帮助,谢谢。代码如下。
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);
https://docs.oracle.com/javase/tutorial/uiswing/components/menu.html
的简化摘录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