我尝试在另一个类中创建一个菜单并将其添加到我的框架中,但它不起作用(没有添加)。能帮我看看代码有什么问题吗,谢谢。
类测试:
public class Test extends JFrame {
public Test() {
MenuBar menuBar = new MenuBar();
setJMenuBar(menuBar);
pack();
setVisible(true);
}
}
类(class)菜单:
public class MenuBar extends JMenuBar {
JMenuBar menuBar;
JMenu menu;
public MenuBar() {
menuBar = new JMenuBar();
menu = new JMenu("File");
menuBar.add(menu);
MenuItem menuItem = new MenuItem();
menu.add(menuItem);
}
}
类菜单项:
public class MenuItem extends JMenuItem {
JMenuItem menuItemUndo;
JMenuItem menuItemRedo;
public MenuItem() {
menuItemUndo = new JMenuItem("Undo");
menuItemRedo = new JMenuItem("Redo");
}
}
最佳答案
MenuBar
扩展了 JMenuBar
,因此您不必在其构造函数中创建新的 JMenuBar
。这更有意义:
public class MenuBar extends JMenuBar {
JMenu menu;
public MenuBar() {
menu = new JMenu("File");
this.add(menu);
.....
}
}
MenuItem
类也是如此。
public class Undo extends JMenuItem {
public MenuItem() {
this.setText("Undo");
}
}
关于Java在另一个类中创建菜单,添加到框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30027010/