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.
Eine Radio Menu Item implementiert die Schnittstelle ISelectableMenuItem und liefert keine zusätzlichen Methoden.
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.
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.