org.openide.awt 7.55.1

org.openide.awt
Annotation Type ActionRegistration


@Retention(value=SOURCE)
@Target(value={TYPE,FIELD,METHOD})
public @interface ActionRegistration

Registers an action under associated identifier specified by separate ActionID annotation on the same element. Here is few usage examples:

Since:
7.26

Required Element Summary
 String displayName
          Display name.
 
Optional Element Summary
 boolean asynchronous
          Shall the action be performed outside of AWT thread.
 String iconBase
          Path to image representing the action's icon.
 boolean iconInMenu
          Shall the action's icon be visible in menu?
 String key
          Shall this action be associated with a particular key in an ActionMap? E.g.
 boolean lazy
          Whether a lazy factory registration from Actions should be used.
 String menuText
          Provides the JMenuItem text if one wants to use other than the name of the action returned by displayName().
 String popupText
          Provides the JMenuItem popup text if one wants to use other than the name of the action returned by displayName().
 boolean surviveFocusChange
          Shall the action work on last selection when it was enabled?
 

Element Detail

displayName

public abstract String displayName
Display name. Usually prefixed with '#' to reference value from a Bundle.properties file in the same package.

Returns:
display name for the action

menuText

public abstract String menuText
Provides the JMenuItem text if one wants to use other than the name of the action returned by displayName().

Returns:
display name for the action
Since:
7.35
See Also:
Actions.connect(javax.swing.JMenuItem, javax.swing.Action, boolean)
Default:
""

popupText

public abstract String popupText
Provides the JMenuItem popup text if one wants to use other than the name of the action returned by displayName().

Returns:
display name for the action in a popup menu
Since:
7.35
See Also:
Actions.connect(javax.swing.JMenuItem, javax.swing.Action, boolean)
Default:
""

iconBase

public abstract String iconBase
Path to image representing the action's icon.

Returns:
"org/myproject/mypkg/Icon.png"
Default:
""

iconInMenu

public abstract boolean iconInMenu
Shall the action's icon be visible in menu?

Returns:
true or false
Default:
true

key

public abstract String key
Shall this action be associated with a particular key in an ActionMap? E.g. behave like Actions.callback(java.lang.String, javax.swing.Action, boolean, java.lang.String, java.lang.String, boolean) one?

Returns:
the value of the key to seek in currently selected ActionMap
Default:
""

asynchronous

public abstract boolean asynchronous
Shall the action be performed outside of AWT thread.

Returns:
false, if the action shall run synchronously
Default:
false

surviveFocusChange

public abstract boolean surviveFocusChange
Shall the action work on last selection when it was enabled?

Default:
false

lazy

public abstract boolean lazy
Whether a lazy factory registration from Actions should be used.

Most actions can be registered using a lazy factory (see class Javadoc for list), which permits the application to avoid loading the action class unless and until it is actually run. Before then, queries on the name, icon, etc. are serviced using static metadata, which minimizes startup overhead.

In limited cases, using this sort of lazy delegate is impossible or undesirable: the action needs to export some special key from Action.getValue(java.lang.String); it presents multiple menu items according to dynamic conditions; or for UI reasons it is preferred to visually disable the action under certain conditions (rather than leaving it enabled and showing a message if selected under those conditions).

For these special cases, you may specify lazy=false to force the action registration to use the traditional direct registration of an instance of the action, without any lazy factory. That allows the action to supply arbitrary customized behavior even before it is ever run, at the expense of overhead when the registration is first encountered (such as when the main menu bar is populated, or a context menu of a certain kind is first shown).

It is an error to specify lazy=false on an element which is not assignable to Action (e.g. an ActionListener, or a String field); or which requires a context parameter in its constructor (or factory method).

For compatibility, registrations which do not explicitly specify this attribute but which are on elements assignable to any of the following types will be registered as if lazy=false, despite the default value of the attribute (but a warning will be issued and the attribute should be made explicit):

Since:
7.41
Default:
true

org.openide.awt 7.55.1

Built on June 6 2013.  |  Portions Copyright 1997-2013 Oracle. All rights reserved.