3.10.10. Radio Menu Item

Mit Hilfe eines Radio Menu Item kann eine Auswahl innerhalb einer Radio Item Group getroffen werden. Innerhalb einer Radion Item Group ist maximal ein Radio Item gleichzeitig ausgewählt.

Alle direkt benachbarten Radion Menu Items eines Menüs gehören zu einer Gruppe. Mit Hilfe von Separator Menu Items können somit innerhalb eines Menüs mehrere Gruppen umgesetzt werden. Ein explizites setzen von Gruppen ist nicht möglich [11]! Die folgende Abbildung zeigt ein Menu mit drei Radio Menu Item Gruppen, wobei jeweils eine Option ausgewählt (selected) ist.

Abbildung 25. Radio Menu Item Beispiel

Radio Menu Item Beispiel

Eine Radio Menu Item implementiert die Schnittstelle ISelectableMenuItem und liefert keine zusätzlichen Methoden.

Radio Menu Item BluePrint

Ein Radio Menu Item kann (u.A.) mit Hilfe eines IRadioMenuItemBluePrint erzeugt werden. Die Klasse BPF liefert die folgenden Methoden für die Erzeugung eines BluePrint:

    public static IRadioMenuItemBluePrint checkedMenuItem() {...}

    public static IRadioMenuItemBluePrint checkedMenuItem(final String text) {...}

Die zweite Methode ermöglicht das gleichzeitige setzen des Label Textes auf dem BluePrint bei der Erzeugung.

Ein IRadioMenuItemBluePrint hat die folgenden Methoden zur Konfiguration:

    IRadioMenuItemBluePrint setText(String text);

    IRadioMenuItemBluePrint setToolTipText(String toolTipText);
    
    IRadioMenuItemBluePrint setMnemonic(Character mnemonic);
    
    IRadioMenuItemBluePrint setAccelerator(Accelerator accelerator);
    
    IRadioMenuItemBluePrint setSelected(boolean selected);

Diese können analog zu den Methoden der Schnittstelle ISelectableMenuItem verwendet werden.

Beispiel

Das folgende Beispiel demonstriert die Verwendung:

  1      //radio group1
  2      ISelectableMenuItem g1Opt1 = menu.addItem(BPF.radioMenuItem("G1 - Opt1").setSelected(true));
  3      ISelectableMenuItem g1Opt2 = menu.addItem(BPF.radioMenuItem("G1 - Opt2"));
  4      ISelectableMenuItem g1Opt3 = menu.addItem(BPF.radioMenuItem("G1 - Opt2"));
  5  
  6      //radio group2
  7      menu.addSeparator();
  8      ISelectableMenuItem g2Opt1 = menu.addItem(BPF.radioMenuItem("G2 - Opt1"));
  9      ISelectableMenuItem g2Opt2 = menu.addItem(BPF.radioMenuItem("G2 - Opt2").setSelected(true));
 10      ISelectableMenuItem g2Opt3 = menu.addItem(BPF.radioMenuItem("G2 - Opt2"));
 11  
 12      //radio group3
 13      menu.addSeparator();
 14      ISelectableMenuItem g3Opt1 = menu.addItem(BPF.radioMenuItem("G3 - Opt1"));
 15      ISelectableMenuItem g3Opt2 = menu.addItem(BPF.radioMenuItem("G3 - Opt2"));
 16      ISelectableMenuItem g3Opt3 = menu.addItem(BPF.radioMenuItem("G3 - Opt2").setSelected(true));


[11] Dies war eine bewußte Design Entscheidung. Radio Gruppen zu definieren, welche der Nutzer nicht als Gruppe wahrnimmt, weil die Items nicht zusammenhängend dargestellt werden, hat keine praktische Relevanz. Demgegenüber sollte für den Standardfall kein zusätzlicher Implementierungsaufwand durch die Zuweisung zu Gruppen notwendig sein.


Siehe auch PDF Version dieses Dokuments, Jowidgets API Spezifikation