3.10.9. Checked Menu Item

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.

Abbildung 24. Checked Menu Item Beispiel

Checked Menu Item Beispiel

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

Checked Menu Item BluePrint

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.

Beispiel

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      });

Siehe auch PDF Version dieses Dokuments, Jowidgets API Spezifikation