public class ActionExample1 extends Application
@Action
basics.
A trivial @Action
example: the buttons set/clear the Frame's title:
public class ActionExample1 extends Application { @Action public void setTitle() { appFrame.setTitle(textField.getText()); } @Action public void clearTitle() { appFrame.setTitle(""); } // ... }The only wrinkle worth noting is that the Action objects we've created are going to call the methods on this object. So when we lookup the ActionMap for this class, we have to pass along the
ActionExample1
instance as well:
ApplicationContext ac = ApplicationContext.getInstance(); ActionMap actionMap = ac.getActionMap(getClass(), this); setTitleButton.setAction(actionMap.get("setTitle")); clearTitleButton.setAction(actionMap.get("clearTitle"));Since our
@Actions
have been defined in the Application
subclass itself, we can use the no-argument version of getActionMap()
,
which returns the ActionMap
for the application:
ApplicationContext ac = ApplicationContext.getInstance(); ActionMap actionMap = ac.getActionMap(); setTitleButton.setAction(actionMap.get("setTitle")); clearTitleButton.setAction(actionMap.get("clearTitle"));
Application.ExitListener
Constructor and Description |
---|
ActionExample1() |
Modifier and Type | Method and Description |
---|---|
void |
clearTitle() |
static void |
main(java.lang.String[] args) |
void |
setTitle() |
protected void |
startup()
Responsible for starting the application; for creating and showing
the initial GUI.
|
addExitListener, end, exit, exit, getContext, getExitListeners, getInstance, getInstance, hide, initialize, launch, quit, ready, removeExitListener, show, shutdown
addPropertyChangeListener, addPropertyChangeListener, firePropertyChange, firePropertyChange, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
@Action public void setTitle()
@Action public void clearTitle()
protected void startup()
Application
This method is called by the static launch
method,
subclasses must override it. It runs on the event dispatching
thread.
startup
in class Application
Application.launch(java.lang.Class<T>, java.lang.String[])
,
Application.initialize(java.lang.String[])
,
Application.shutdown()
public static void main(java.lang.String[] args)