org.jdesktop.application
Annotation Type Action


@Documented
@Retention(value=RUNTIME)
@Target(value=METHOD)
public @interface Action

Marks a method that will be used to define a Swing Action object's actionPerformed method. It also identifies the resources that will be used to initialize the Action's properties. Additional @Action parameters can be used to specify the name of the bound properties (from the same class) that indicate if the Action is to be enabled/selected, and if the GUI should be blocked while the Action's background Task is running.

The ApplicationActionMap class creates an ActionMap that contains one ApplicationAction for each @Action found in a target or "actions" class. Typically applications will use getActionMap to lazily construct and cache ApplicationActionMaps, rather than constructing them directly. By default the ApplicationActionMap's key for an @Action is the name of the method. The name parameter can be used to specify a different key.

The ApplicationAction's properties are initialized with resources loaded from a ResourceBundle with the same name as the actions class. The list of properties initialized this way is documented by the ApplicationAction's constructor.

The method marked with @Action, can have no parameters, or a single ActionEvent parameter. The method's return type can be void or Task. If the return type is Task, the Task will be executed by the ApplicationAction's actionPerformed method.

Author:
Hans Muller (Hans.Muller@Sun.COM)
See Also:
ApplicationAction, ApplicationActionMap, ApplicationContext

Optional Element Summary
 Task.BlockingScope block
          The parameter indicates that the GUI should be blocked while the background task is running.
 java.lang.String enabledProperty
          The parameter binds the enabled state of the @Action to the current value of a property.
 java.lang.String name
          The action name.
 java.lang.String selectedProperty
          The parameter binds the selected state of the @Action to the current value of a property.
 

name

public abstract java.lang.String name
The action name. The method name is used as an action name if not specified.

Default:
""

enabledProperty

public abstract java.lang.String enabledProperty
The parameter binds the enabled state of the @Action to the current value of a property.

Default:
""

selectedProperty

public abstract java.lang.String selectedProperty
The parameter binds the selected state of the @Action to the current value of a property.

Default:
""

block

public abstract Task.BlockingScope block
The parameter indicates that the GUI should be blocked while the background task is running.

See Also:
Task
Default:
org.jdesktop.application.Task.BlockingScope.NONE