Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  * Copyright (C) 2006 Sun Microsystems, Inc. All rights reserved. Use is
  * subject to license terms.
 package org.jdesktop.application;
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 ApplicationContext.getActionMap(java.lang.Class,java.lang.Object) 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]

Hans Muller (Hans.Muller@Sun.COM)
See also:
public @interface Action {
    String name() default "";
    String enabledProperty() default "";
    String selectedProperty() default  "";
    @interface Parameter {
	String value() default "";
New to GrepCode? Check out our FAQ X