uic.action
Class ComponentMouseClickedAction

java.lang.Object
  extended by uic.model.UICSimpleAction
      extended by uic.action.SwingAction
          extended by uic.action.ComponentMouseClickedAction
All Implemented Interfaces:
MouseListener, EventListener

public class ComponentMouseClickedAction
extends SwingAction
implements MouseListener

When your users clicks on a component added to this action the target method will be invoked. Notice that the default version uses the OnlyLastPolicy. Using this class is easy; just call:

new ComponentMouseClickedAction(this, "clickedSlot").add(myComponent); 
This has the result that when the user clicks anywhere in the component 'myComponent' the 'clickedSlot' on object 'this' will be called.
Default target signatures
(ARGUMENT_X_COORDINATE, ARGUMENT_Y_COORDINATE, ARGUMENT_BUTTON)
(ARGUMENT_X_COORDINATE, ARGUMENT_Y_COORDINATE)
(ARGUMENT_X_COORDINATE)
(ARGUMENT_POINT)
()
All Targets
ARGUMENT_X_COORDINATE
ARGUMENT_Y_COORDINATE
ARGUMENT_POINT
ARGUMENT_BUTTON

Since:
2.0

Nested Class Summary
 
Nested classes/interfaces inherited from class uic.model.UICSimpleAction
UICSimpleAction.Arguments, UICSimpleAction.DirectMultiThreadingPolicy, UICSimpleAction.DirectPolicy, UICSimpleAction.ExecutePolicy, UICSimpleAction.OnlyLastPolicy, UICSimpleAction.QueuedPolicy, UICSimpleAction.SimpleQueuedPolicy
 
Field Summary
static String ARGUMENT_BUTTON
          an int: the button which was depressed.
static String ARGUMENT_EVENT
          an MouseEvent: the native event that triggered this.
static String ARGUMENT_POINT
          a Point: the coordinates of the mouse click.
static String ARGUMENT_X_COORDINATE
          an int: the x coordinate of the mouse click.
static String ARGUMENT_Y_COORDINATE
          an int: the y coordinate of the mouse click.
static int MOUSE_BUTTON1
           
static int MOUSE_BUTTON2
           
static int MOUSE_BUTTON3
           
static int MOUSE_NOBUTTON
           
 
Fields inherited from class uic.action.SwingAction
updateUICommmand
 
Fields inherited from class uic.model.UICSimpleAction
currentPolicy, target, targetObject
 
Constructor Summary
ComponentMouseClickedAction(Object targetObject, String targetMethod)
          Create a new ListSelectionAction
ComponentMouseClickedAction(Object targetObject, String targetMethod, UICSimpleAction.Arguments arguments)
          Create a new ListSelectionAction.
 
Method Summary
 ComponentMouseClickedAction add(Component comp)
          Add an ItemSelectable object to this action
protected  Class getArgumentClass(String argumentType)
          For the uniquely defined argumentType (as also used in UICSimpleAction.getTargetSignatures()) return the Class.
protected  Object getArgumentValue(EventObject source, String argumentType)
          For the uniquely defined argumentType (as also used in UICSimpleAction.getTargetSignatures()) return the value.
protected  List getTargetSignatures()
          Return a List object with instances of the Arguments class.
 void mouseClicked(MouseEvent e)
          Implementation of MouseListener interface.
 void mouseEntered(MouseEvent e)
          Implementation of MouseListener interface.
 void mouseExited(MouseEvent e)
          Implementation of MouseListener interface.
 void mousePressed(MouseEvent e)
          Implementation of MouseListener interface.
 void mouseReleased(MouseEvent e)
          Implementation of MouseListener interface.
 
Methods inherited from class uic.action.SwingAction
doAction, getComponentsIterator, registerComponent, setEnabled, setUIUpdateCommand, setUIUpdateCommand
 
Methods inherited from class uic.model.UICSimpleAction
createArguments, equals, execute, execute, execute, execute, isEnabled, setDirect, setExecutionPolicy, setTarget, setTarget
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ARGUMENT_X_COORDINATE

public static final String ARGUMENT_X_COORDINATE
an int: the x coordinate of the mouse click.

See Also:
Constant Field Values

ARGUMENT_POINT

public static final String ARGUMENT_POINT
a Point: the coordinates of the mouse click.

See Also:
Constant Field Values

ARGUMENT_Y_COORDINATE

public static final String ARGUMENT_Y_COORDINATE
an int: the y coordinate of the mouse click.

See Also:
Constant Field Values

ARGUMENT_EVENT

public static final String ARGUMENT_EVENT
an MouseEvent: the native event that triggered this.

See Also:
Constant Field Values

ARGUMENT_BUTTON

public static final String ARGUMENT_BUTTON
an int: the button which was depressed. See also the integer definitions on this action. MOUSE_BUTTON1, MOUSE_BUTTON2, MOUSE_BUTTON3 and MOUSE_NOBUTTON.

See Also:
Constant Field Values

MOUSE_BUTTON1

public static final int MOUSE_BUTTON1
See Also:
Constant Field Values

MOUSE_BUTTON2

public static final int MOUSE_BUTTON2
See Also:
Constant Field Values

MOUSE_BUTTON3

public static final int MOUSE_BUTTON3
See Also:
Constant Field Values

MOUSE_NOBUTTON

public static final int MOUSE_NOBUTTON
See Also:
Constant Field Values
Constructor Detail

ComponentMouseClickedAction

public ComponentMouseClickedAction(Object targetObject,
                                   String targetMethod)
Create a new ListSelectionAction

Parameters:
targetObject - on which object should the target method be invoked
targetMethod - wich method on the targetObject should be invoked

ComponentMouseClickedAction

public ComponentMouseClickedAction(Object targetObject,
                                   String targetMethod,
                                   UICSimpleAction.Arguments arguments)
Create a new ListSelectionAction.

Parameters:
targetObject - on which object should the target method be invoked
targetMethod - wich method on the targetObject should be invoked
arguments - to be used in finding the targetMethod signature
See Also:
UICSimpleAction.setTarget(Object,String,uic.model.UICSimpleAction.Arguments)
Method Detail

add

public ComponentMouseClickedAction add(Component comp)
Add an ItemSelectable object to this action

Parameters:
comp - the list that triggers this action

getTargetSignatures

protected List getTargetSignatures()
Description copied from class: UICSimpleAction
Return a List object with instances of the Arguments class. Extending classes should implement this to return all the target method signatures that are searched for should the user create an action without an Arguments instance.

An example implementation could be this:

  List result = new ArrayList(1);
  result.add( new Arguments().addArgument("Source") );
  return result;
This will result in a call to UICSimpleAction.getArgumentClass(java.lang.String) with the string "Source" which returns a Class instance. In our example that would be java.lang.Object.

The result of this would be that a call to setTarget will try to find a method with an argument of type Object, and will search again if that is not found without any arguments.

Overrides:
getTargetSignatures in class UICSimpleAction
Returns:
a List object with instances of the Arguments class.
See Also:
UICSimpleAction.getArgumentValue(java.util.EventObject, java.lang.String), UICSimpleAction.getArgumentClass(java.lang.String)

getArgumentValue

protected Object getArgumentValue(EventObject source,
                                  String argumentType)
Description copied from class: UICSimpleAction
For the uniquely defined argumentType (as also used in UICSimpleAction.getTargetSignatures()) return the value. This method will always return 'null'; Extending actions can define various argumentType strings that can be used as an argument in the call to the target method of this action. The user decides on construction of the action which argumentTypes are to be used, if a certain value is requested to be sent to the targetMethod a call is made to this method to find its value based on the source event.

Note that base types can not be returned, since they are instances of object; you should wrap these in their object re-presentation (an Integer object for an int).

Overrides:
getArgumentValue in class UICSimpleAction
Parameters:
source - the event that caused the action to be fired. This is the event that the extending class passed to the execute method; so casting is fine.
argumentType - the uniquely defined name specifying the type of argument.
Returns:
the value to be passed to the taget method.

getArgumentClass

protected Class getArgumentClass(String argumentType)
Description copied from class: UICSimpleAction
For the uniquely defined argumentType (as also used in UICSimpleAction.getTargetSignatures()) return the Class. This method will always return 'null'; Extending actions can define various argumentType strings that can be used as an argument in the call to the target method of this action. The user decides on construction of the action which argumentTypes are to be used, if a certain value is requested to be sent to the targetMethod a call is made to this method to find the Class of the type.

Note that basetypes have a class of their own and you should return the correct one you expect the targetMethod to implement. returning Integer.class will search for an Integer; returing int.class will search for an int. This is important to note since the UICSimpleAction.getArgumentValue(java.util.EventObject, java.lang.String) method should return an Integer object in both cases.

Overrides:
getArgumentClass in class UICSimpleAction
Parameters:
argumentType - the uniquely defined name specifying the type of argument.
Returns:
the class of this argument to be found on the target method

mouseClicked

public void mouseClicked(MouseEvent e)
Implementation of MouseListener interface.

Specified by:
mouseClicked in interface MouseListener

mouseEntered

public void mouseEntered(MouseEvent e)
Implementation of MouseListener interface.

Specified by:
mouseEntered in interface MouseListener

mouseExited

public void mouseExited(MouseEvent e)
Implementation of MouseListener interface.

Specified by:
mouseExited in interface MouseListener

mousePressed

public void mousePressed(MouseEvent e)
Implementation of MouseListener interface.

Specified by:
mousePressed in interface MouseListener

mouseReleased

public void mouseReleased(MouseEvent e)
Implementation of MouseListener interface.

Specified by:
mouseReleased in interface MouseListener


Copyright © 2002-2004 Thomas Zander Available under the Free Apache licence