Hallo
ich habe ein Problem, und zwar mache ich ein (dynamisch erstelltes) JPopupMenu, in dem ich eben je nach datenbankinhalt mehr oder weniger einträge erstelle (JRadioButtonMenuItem).
da ich aber hierfür kein extra array habe, sondern mittels anonymen actionlsitener klassen gleich eine action zuweise:
habe ich das problem, dann die selected-variable der radiobuttons individuell zu verändern, da ich aus irgendeinem grund nicht mehr darauf zugreifen kann (auf die radiobuttons)
ich habe es schon mit
und all den anderen zugeifsmöglichkeiten von jmenu (getSubElements,getMenuComponents,..) probiert, aber ich bekomme immer nichts sinvolles raus (also nicht z.b. die 4 einträge die ich auch tatsächlich als jradiobuttons habe - hier bekome ich einmal 1, einmal 0 und einmal 6 ausgaben... komisch!)
wie ist es mir nun einfach möglich, die JRadioButtonItems eines JMenus zu durchlaufen und darauf zuzugreifen? ich internet habe ich nichts gefunden
ich habe ein Problem, und zwar mache ich ein (dynamisch erstelltes) JPopupMenu, in dem ich eben je nach datenbankinhalt mehr oder weniger einträge erstelle (JRadioButtonMenuItem).
da ich aber hierfür kein extra array habe, sondern mittels anonymen actionlsitener klassen gleich eine action zuweise:
Java:
private void addProtoMenu(){
final String[] protos = MenuBar.getProtonodesFromUser(username);
for(int i = 0; i < protos.length; i++){
final int tempi = i;
JRadioButtonMenuItem tmp = new JRadioButtonMenuItem(protos[i]);
tmp.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
selectedObj.getNode().protoNode = protos[tempi];
repaint();
}
});
group.add(tmp);
protoNodeMenu.add(tmp);
}
group.add(removeProtoNode);
//TODO auflistung aller einträge des users!
menu.add(protoNodeMenu);
}
habe ich das problem, dann die selected-variable der radiobuttons individuell zu verändern, da ich aus irgendeinem grund nicht mehr darauf zugreifen kann (auf die radiobuttons)
ich habe es schon mit
Java:
private void setProtoNodeInMenuActive(String name){
JMenu temp = protoNodeMenu; //ist das relevante untermenü des jpopupmenüs
for(int i = 0; i < subs.length; i++){
JRadioButtonMenuItem d = (JRadioButtonMenuItem) subs[i];
p("Vergleich:" + d.getName() + " mit " + name);
if(d.getName().equals(name)) {
d.setSelected(true);
selection = true;
} else d.setSelected(false);
}
}
und all den anderen zugeifsmöglichkeiten von jmenu (getSubElements,getMenuComponents,..) probiert, aber ich bekomme immer nichts sinvolles raus (also nicht z.b. die 4 einträge die ich auch tatsächlich als jradiobuttons habe - hier bekome ich einmal 1, einmal 0 und einmal 6 ausgaben... komisch!)
wie ist es mir nun einfach möglich, die JRadioButtonItems eines JMenus zu durchlaufen und darauf zuzugreifen? ich internet habe ich nichts gefunden