3.11.6. Action Item Model

Ein Action Item Model ist ein Model für Items welche Aktionen auslösen. Dazu zählen Action Menu Items und Tool Bar Buttons. Die Schnittstelle IActionItemModel ist von IItemModel abgeleitet. Es folgt eine Beschreibung der wichtigsten weiteren Methoden:

Action binding

Mit Hilfe der folgenden Methoden kann eine Action an ein Action Item Model gebunden, sowie die gebundene Action abgefragt werden:

    void setAction(IAction action);

    IAction getAction();

Ein Action Item Model muss nicht zwingend an eine Action gebunden sein, so dass null sowohl gesetzt werden kann, als auch als Rückgabewert möglich ist. Für weitere Details zu Actions siehe auch Actions und Commands.

Action Dekorierung

Die folgenden Methoden können verwendet werden, um einen Action Dekorierer hinzuzufügen oder zu entfernen.

    void addDecorator(IDecorator<IAction> decorator);

    void removeDecorator(IDecorator<IAction> decorator);

Dieser wird verwendet, um eine gebundene Action zu dekorieren. Für weitere Details zu Actions siehe auch Actions und Commands.

ActionListener

Mit Hilfe der folgenden Methoden kann ein IActionListener hinzugefügt oder entfernt werden:

    void addActionListener(final IActionListener actionListener);

    void removeActionListener(final IActionListener actionListener);

Dieser hat die folgende Methode:

    void actionPerformed();

Die Methode wird aufgerufen, wenn auf einem gebundenen Item eine Aktion (z.B. durch Klicken oder Tastaturkürzel) ausgelöst wurde.

Action Item Model Builder

Die Schnittstelle IActionItemModelBuilder ist von IItemModelBuilder abgeleitet und liefert einen konkreten Builder für Action Item Models. Sie hat folgende zusätzliche Methoden.

    IActionItemModelBuilder setAction(IAction action);

    IActionItemModelBuilder addVisibilityAspect(IActionItemVisibilityAspect visibilityAspect);

Die erste Methode dient zum Binding einer Action, die zweite Methode fügt einen Sichtbarkeitsaspket hinzu.

Eine Instanz erhält man von der Klasse org.jowidgets.tools.model.item.ActionItemModel.

Action Item Model Instanzen

Die Klasse org.jowidgets.tools.model.item.ActionItemModel liefert zum Einen statische Methoden für die Erzeugung eines IActionItemModelBuilder. Zum Anderen implementiert die Klasse die Schnittstelle IActionItemModel. Das folgende Beispiel zeigt die Verwendung des Builders:

  1      final IActionItemModel paste 
  2          = ActionItemModel
  3              .builder()
  4              .setText("Paste")
  5              .setIcon(IconsSmall.PASTE)
  6              .setAccelerator(VirtualKey.V,Modifier.CTRL)
  7              .build();

Mit Hilfe einer Instantiierung mittels new kann das gleiche so erreicht werden:

  1      final IActionItemModel paste = new ActionItemModel("Paste", IconsSmall.PASTE);
  2      paste.setAccelerator(VirtualKey.V, Modifier.CTRL);

Siehe auch PDF Version dieses Dokuments, Jowidgets API Spezifikation