Java swing:根据JMenuItem选择重命名JMenu标题
是否可以使用选定的JMenuItem重命名JMenu标题 我正在使用ActionListener执行以下操作: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
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.