Annotation Interface ActionProxy
Action instances.
The following steps are required to use ActionProxy annotations:
- Annotate your methods with the
ActionProxyannotation. For example:@ActionProxy(text="Action 1.1", graphic=imagePath, accelerator="ctrl+shift+T") private void action11() { System.out.println("Action 1.1 is executed"); }The ActionProxy annotation is designed to work with three types of methods:
- Methods with no parameters,
- Methods with one parameter of type
ActionEvent. - Methods that take both an
ActionEventand anAction.
The ActionProxy annotation
graphic()property supports different node types:- Images,
- Glyph fonts.
The ability for ActionProxy to support glyph fonts is part of the ControlsFX
GlyphAPI. For more information on how to specify images and glyph fonts, refer to thegraphic()method. - Register your class in the global
ActionMap, preferably in the class constructor:
Immediately after that actions will be created according to the provided annotations and are accessible fromActionMap.register(this);ActionMap, which provides several convenience methods to access actions by id. Refer to theActionMapclass for more details on how to use it.
ActionCheck annotation is supported on the same method where @ActionProxy is applied}
-
Required Element Summary
Required ElementsModifier and TypeRequired ElementDescriptionThe text that should be set inAction.textProperty(). -
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionAccepts string values such as "ctrl+shift+T" to represent the keyboard shortcut for this action.The full class-name of a class that implementsAnnotatedActionFactory.The graphic that should be set inAction.graphicProperty().By default the method name that this annotation is applied to, but if not null then this ID is what you use when requesting theActionout of theActionMapwhen using theActionMap.action(String)method.The text that should be set inAction.longTextProperty().
-
Element Details
-
text
String textThe text that should be set inAction.textProperty().
-
-
-
id
String idBy default the method name that this annotation is applied to, but if not null then this ID is what you use when requesting theActionout of theActionMapwhen using theActionMap.action(String)method.- Default:
- ""
-
graphic
String graphicThe graphic that should be set inAction.graphicProperty().The graphic can be either image (local path or url) or font glyph.
Because a graphic can come from multiple sources, a simple protocol prefix is used to designate the type. Currently supported prefixes are '
image>' and 'font>'. Default protocol is 'image>'.The following are the examples of different graphic nodes:
@ActionProxy(text="Teacher", graphic="http://icons.iconarchive.com/icons/custom-icon-design/mini-3/16/teacher-male-icon.png") @ActionProxy(text="Security", graphic="/org/controlsfx/samples/security-low.png") @ActionProxy(text="Security", graphic="image>/org/controlsfx/samples/security-low.png") @ActionProxy(text="Star", graphic="font>FontAwesome|STAR")
- Default:
- ""
-
longText
String longTextThe text that should be set inAction.longTextProperty().- Default:
- ""
-
accelerator
String acceleratorAccepts string values such as "ctrl+shift+T" to represent the keyboard shortcut for this action. By default this is empty if there is no keyboard shortcut desired for this action.- Default:
- ""
-
factory
String factoryThe full class-name of a class that implementsAnnotatedActionFactory.ActionMapwill use this class to instantiate theAnnotatedActionassociated with this method, rather than using its own action factory.- Default:
- ""
-