Ein Checked Menu Item ist ein Optionsfeld (Checkbox) innerhalb
eines Menüs. Im Vergleich zu einem
Radio Menu Item handelt
es sich dabei um eine Einzeloption. Die folgende Abbildung zeigt
ein Menu mit zwei Checked Menu Items, wobei die erste Option
ausgewählt (selected
) ist. Beide Optionen
können mit Hilfe eines
Tastaturkürzel
umgeschalten werden.
Eine Checked Menu Item implementiert die Schnittstelle ISelectableMenuItem und liefert keine zusätzlichen Methoden.
Ein Checked Menu Item kann (u.A.) mit Hilfe eines
ICheckedMenuItemBluePrint
erzeugt werden.
Die Klasse BPF
liefert die folgenden
Methoden für die Erzeugung eines BluePrint:
public static ICheckedMenuItemBluePrint checkedMenuItem() {...} public static ICheckedMenuItemBluePrint checkedMenuItem(final String text) {...}
Die zweite Methode ermöglicht das gleichzeitige setzen des Label Textes auf dem BluePrint bei der Erzeugung.
Ein ICheckedMenuItemBluePrint
hat die
folgenden Methoden zur Konfiguration:
ICheckedMenuItemBluePrint setText(String text); ICheckedMenuItemBluePrint setToolTipText(String toolTipText); ICheckedMenuItemBluePrint setMnemonic(Character mnemonic); ICheckedMenuItemBluePrint setAccelerator(Accelerator accelerator); ICheckedMenuItemBluePrint setSelected(boolean selected);
Diese können analog zu den Methoden der Schnittstelle
ISelectableMenuItem
verwendet werden.
Das folgende Beispiel demonstriert die Verwendung
1 //first option 2 final ICheckedMenuItemBluePrint option1Bp = BPF.checkedMenuItem(); 3 option1Bp 4 .setText("Option1") 5 .setToolTipText("Check this if option1 is desired") 6 .setAccelerator(new Accelerator(VirtualKey.DIGIT_1, Modifier.CTRL)) 7 .setSelected(true); 8 9 final ISelectableMenuItem option1 = menu.addItem(option1Bp); 10 option1.addItemListener(new IItemStateListener() { 11 @Override 12 public void itemStateChanged() { 13 System.out.println("Option1 changed: " + option1.isSelected()); 14 } 15 }); 16 17 //second option 18 final ICheckedMenuItemBluePrint option2Bp = BPF.checkedMenuItem(); 19 option2Bp 20 .setText("Option2") 21 .setToolTipText("Check this if option2 is desired") 22 .setAccelerator(new Accelerator(VirtualKey.DIGIT_2, Modifier.CTRL)); 23 24 final ISelectableMenuItem option2 = menu.addItem(option2Bp); 25 option2.addItemListener(new IItemStateListener() { 26 @Override 27 public void itemStateChanged() { 28 System.out.println("Option2 changed: " + option2.isSelected()); 29 } 30 });