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.

[TBD the block parameter, and the Parameter annotation]

See Also:
ApplicationAction, ApplicationActionMap, ApplicationContext

Optional Element Summary
 Task.BlockingScope block
           
 java.lang.String enabledProperty
           
 java.lang.String name
           
 java.lang.String selectedProperty
           
 

name

public abstract java.lang.String name
Default:
""

enabledProperty

public abstract java.lang.String enabledProperty
Default:
""

selectedProperty

public abstract java.lang.String selectedProperty
Default:
""

block

public abstract Task.BlockingScope block
Default:
org.jdesktop.application.Task.BlockingScope.NONE