Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java swing:根据JMenuItem选择重命名JMenu标题_Java_Swing_Jmenu_Jmenuitem_Jmenubar - Fatal编程技术网

Java swing:根据JMenuItem选择重命名JMenu标题

Java swing:根据JMenuItem选择重命名JMenu标题,java,swing,jmenu,jmenuitem,jmenubar,Java,Swing,Jmenu,Jmenuitem,Jmenubar,是否可以使用选定的JMenuItem重命名JMenu标题 我正在使用ActionListener执行以下操作: public MenuBar(){ . . . add(createMenu("Choose Bow: ")); . . . public JMenu createmenu(String name){ JMenu menu = new JMenu(name); JRadioButtonMenuItem bow = new JRadioButtonMenuItem("Pink"); bo

是否可以使用选定的JMenuItem重命名JMenu标题

我正在使用ActionListener执行以下操作:

public MenuBar(){
.
.
.
add(createMenu("Choose Bow: "));
.
.
.
public JMenu createmenu(String name){
JMenu menu = new JMenu(name);
JRadioButtonMenuItem bow = new JRadioButtonMenuItem("Pink");
bow.setHorizontalTextPosition(JMenuItem.RIGHT);
bow.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent evt){
        String current = "Pink";
        add(createMenu(current));
        menu.revalidate();          
        }
    });

group.add(bow);
.
.
.
menu.add(bow);
menu.revalidate();

return menu;
}
我希望菜单上显示的是
Pink
而不是
Choose Bow:
,但我现在写的只是在菜单栏上不断重新创建一个新菜单,而不是我已经得到的菜单

这是:

JMenu菜单=新JMenu(名称)

需要更改为:

menu=newjmenu(名称)其中
菜单
是类的实例成员:

private JMenu菜单

然后在
actionPerformed(…)
中,只需调用:

菜单。设置文本(当前)
而不是重新创建它。

此:

JMenu菜单=新JMenu(名称)

需要更改为:

menu=newjmenu(名称)其中
菜单
是类的实例成员:

private JMenu菜单

然后在
actionPerformed(…)
中,只需调用:


menu.setText(当前)
而不是重新创建它。

你可能想要一个。你可能想要一个。当我刚打出来。比我快+我只是把这个打出来。比我快+1.