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:
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.
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.
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.
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
.
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);