3.10.8. Die Schnittstelle ISelectableMenuItem

Die Schnittstelle ISelectableMenuItem liefert die Funktionen für das Checked Menu Item und Radio Menu Item. Ein ISelectableMenuItem ist von IMenuItem und somit auch von IItem und IWidget abgeleitet.

Es folgt eine kurze Beschreibung der wichtigsten Methoden:

Menu Model

Mit Hilfe der folgenden Methoden kann das Model gesetzt und ausgelesen werden. Siehe auch Menü und Item Models.

    ISelectableMenuItemModel getModel();

    void setModel(ISelectableMenuItemModel model);
Selected State

Der selected State gibt an, ob das Item ausgewählt ist, oder nicht. Bei einem Checked Menu Item ist das der Fall, wenn die Checkbox angehackt ist. Bei einem Radio Menu Item, wenn der Radio Button gedrückt ist. Mit Hilfe der folgenden Methoden kann der selected State gesetzt und ausgelesen werden:

    boolean isSelected();

    void setSelected(boolean selected);

Um sich über Änderungen des selected State informieren zu lassen, kann ein IItemStateListener verwendet werden:

    void addItemListener(final IItemStateListener listener);

    void removeItemListener(final IItemStateListener listener);

Dieser hat die folgende Methode:

    void itemStateChanged();
Tastaturkürzel

Mit Hilfe der folgenden Methode kann das Tastaturkürzel (Key Accelerator) festgelegt werden:

    void setAccelerator(Accelerator accelerator);

Ist das zugehörige Item in einem Main Menu eines aktiven Frames, wird das Tastaturkürzel automatisch ausgewertet und ein Action Event gefeuert, wenn die entsprechende Tastenkombination gedrückt wird.

Bei Items in Popup Menüs ist das nicht der Fall. Dort muss man sich, z.B. mit Hilfe eines KeyListener, selbst um das Auslösen der Aktionen kümmern.

Bei einem Checked Menu Item wird durch das Tastaturkürzel der Selected State umgeschalten (toggle). Bei einem Radio Menu Item wird durch das Tastaturkürzel der selected State auf true gesetzt, falls er false ist. Ist das Item bereits selektiert, wird der Tastaturkürzel ignoriert.


Siehe auch PDF Version dieses Dokuments, Jowidgets API Spezifikation