Hallo,
Ich baue dynamisch ein Menu auf:
JMenuBar, beinhaltet (u. a. ) eine JMenu ("Sensorauswahl"), hier wiederum sind beliebig viele JMenu als Untermenüs angelegt ("der erste", "nummer 3" im Beispiel). Jedes dieser JMenus enthält beliebig viele JCheckBoxItem ("Temperatur 1", Temperatur 2", ...).
Ich möchte gern alle JCheckBoxItem gleichzeitig an- bzw. ausschalten, im obigen Bild mit dem JCheckBoxItem ganz unten.
Ich dachte daran, das Menu Sensorauswahl zu nehmen, mit einer Art for-each-Schleife jeden Eintrag bis auf den letzten abzuarbeiten und hier wiederum mit einer anderen for-each-Schleife jeden Eintrag zu aktivieren bzw. zu deaktivieren. Leider komme ich nicht sonderlich weit und ich sitze nun schon Stunden an dem Problem.
Als einziges fuktioniert bisher (allerdings nur zum Test) folgendes:
Zumindest in der ersten Ebene kann ich mich also bewegen (und als Test zumindest die Einträge deaktivieren). Zumindest werden also alle Menüs in der ersten Ebene deaktiviert (nur um zu sehen, ob der Code funktioniert). Mehr funktioniert allerdings nicht... Anstatt ppp.setEnabled(false) müsste ich eine Ebene tiefer zu den JCheckBoxItems und jedes dieser Items mit setSelected(true bzw. false) entsprechend an-/ausschalten, nur wie?
Ist bestimmt nicht viel, aber ich stehe auf der sprichwörtlichen Leitung.
Vielen Dank schonmal hoffentlich für eure Hilfe,
Dennis
Ich baue dynamisch ein Menu auf:
JMenuBar, beinhaltet (u. a. ) eine JMenu ("Sensorauswahl"), hier wiederum sind beliebig viele JMenu als Untermenüs angelegt ("der erste", "nummer 3" im Beispiel). Jedes dieser JMenus enthält beliebig viele JCheckBoxItem ("Temperatur 1", Temperatur 2", ...).
Ich möchte gern alle JCheckBoxItem gleichzeitig an- bzw. ausschalten, im obigen Bild mit dem JCheckBoxItem ganz unten.
Ich dachte daran, das Menu Sensorauswahl zu nehmen, mit einer Art for-each-Schleife jeden Eintrag bis auf den letzten abzuarbeiten und hier wiederum mit einer anderen for-each-Schleife jeden Eintrag zu aktivieren bzw. zu deaktivieren. Leider komme ich nicht sonderlich weit und ich sitze nun schon Stunden an dem Problem.
Als einziges fuktioniert bisher (allerdings nur zum Test) folgendes:
Code:
if(selected) { // wenn der untere Eintrag "alle Sensoren" aktiviert ist
int anz_me = Menu_Sensorauswahl.getItemCount();
System.out.println("Anzahl Menüeinträge Sensormenü: " + anz_me);
for(int m = 0; m < anz_me-1 ; m++){
JMenuItem ppp = Menu_Sensorauswahl.getItem(m);
ppp.setEnabled(false);
}
}
else { // wenn der untere Eintrag "alle Sensoren" nicht aktiviert ist
; //noch nichts
}
Zumindest in der ersten Ebene kann ich mich also bewegen (und als Test zumindest die Einträge deaktivieren). Zumindest werden also alle Menüs in der ersten Ebene deaktiviert (nur um zu sehen, ob der Code funktioniert). Mehr funktioniert allerdings nicht... Anstatt ppp.setEnabled(false) müsste ich eine Ebene tiefer zu den JCheckBoxItems und jedes dieser Items mit setSelected(true bzw. false) entsprechend an-/ausschalten, nur wie?
Ist bestimmt nicht viel, aber ich stehe auf der sprichwörtlichen Leitung.
Vielen Dank schonmal hoffentlich für eure Hilfe,
Dennis