我尝试在“另一个”类中创建一个菜单并将其添加到我的框架中,但是它不起作用(什么也没添加)。您能帮我看看代码有什么问题吗,谢谢。

课堂测试:

public class Test extends JFrame {

    public Test() {
        MenuBar menuBar = new MenuBar();
        setJMenuBar(menuBar);
        pack();
        setVisible(true);
    }
 }


班级菜单:

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);
    }
}


类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 - Java创建菜单在另一个类中,添加到框架,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30027010/

10-12 12:50
查看更多