-
@Target(METHOD) @Retention(RUNTIME) public @interface ActionProxy
An annotation to allow conversion of class methods toActioninstances.The following steps are required to use
ActionProxyannotations:- 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.
ActionCheckannotation is supported on the same method where @ActionProxy is applied} - Annotate your methods with the
-
-
Required Element Summary
Required Elements Modifier and Type Required Element Description StringtextThe text that should be set inAction.textProperty().
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description StringacceleratorAccepts string values such as "ctrl+shift+T" to represent the keyboard shortcut for this action.StringfactoryThe full class-name of a class that implementsAnnotatedActionFactory.StringgraphicThe graphic that should be set inAction.graphicProperty().StringidBy 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.StringlongTextThe text that should be set inAction.longTextProperty().
-
-
-
Element Detail
-
text
String text
The text that should be set inAction.textProperty().
-
-
-
id
String id
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.- Default:
- ""
-
-
-
graphic
String graphic
The 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 longText
The text that should be set inAction.longTextProperty().- Default:
- ""
-
-
-
accelerator
String accelerator
Accepts 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 factory
The 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:
- ""
-
-