如何创建自定义JMenuBar?

时间:2013-11-17 19:22:50

标签: java swing jcomponent jmenubar

我想创建一个自定义菜单栏类,我可以添加关闭并最小化按钮。我想扩展JMenuBar类,但我不知道要覆盖哪些方法或如何覆盖它们。我试过检查java文档,但只告诉你一个方法做什么,而不是它如何工作。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

是的,你可以扩展JMenuBar来创建你自己的。为了拥有一些自定义菜单按钮,您应该确保

  1. 使用ActionListener参数

    创建构造函数

    public MyMenuBarClass(ActionListener p_objAl){    超();    this.objal = p_objAl;    的initComponents(); }

  2. 初始化菜单按钮时,应将ActionListener对象添加到添加的JMenuItem中,例如

    JMenu menu1 =新的JMenu(“菜单1”); this.add(MENU1); JMenuItem menuitem1_1 = new JMenuItem(“menu item 1.1”); menuitem1_1.setMnemonic(KeyEvent.VK_F10); menuitem1_1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F10,0)); menuitem1_1.setActionCommand( “command1_1”);
    menuitem1_1.addActionListener(this.objal);
    menu1.add(menuitem1_1);

  3. 实现ActionListener对象以处理上例中的command1_1等命令。

答案 1 :(得分:0)

这是我将JMenuBar类修改为除了所有JComponents而不仅仅是菜单的方法。

public class CustomMenuBar extends JMenuBar{
    public JComponent addComponent(JComponent c) {
        super.add(c);
        return c;
    }
}