org.apache.batik.gvt.event
Class AWTEventDispatcher

java.lang.Object
  extended by org.apache.batik.gvt.event.AWTEventDispatcher
All Implemented Interfaces:
KeyListener, MouseListener, MouseMotionListener, MouseWheelListener, EventListener, EventDispatcher

public class AWTEventDispatcher
extends Object
implements EventDispatcher, MouseListener, MouseMotionListener, MouseWheelListener, KeyListener

An EventDispatcher implementation based on AWT events.

Mouse events are dispatched to their "containing" node (the GraphicsNode corresponding to the mouse event coordinate). Searches for containment are performed from the EventDispatcher's "root" node.


Field Summary
protected  AffineTransform baseTransform
          The base AffineTransform for InputEvent-to-GraphicsNodeEvent coordinates as determined by setBaseTransform().
protected  GraphicsNode currentKeyEventTarget
          The current GraphicsNode targeted by an key events.
protected  boolean eventDispatchEnabled
           
protected  List eventQueue
          These are used to queue events while a rendering event is in progress.
protected  int eventQueueMaxSize
           
protected  EventListenerList glisteners
          The global listener list.
protected  GraphicsNode lastHit
          The lastest node which has been targeted by an event.
protected  GraphicsNode root
          The root GraphicsNode as determined by setRootNode().
 
Constructor Summary
AWTEventDispatcher()
          Constructs a new event dispatcher.
 
Method Summary
 void addGraphicsNodeKeyListener(GraphicsNodeKeyListener l)
          Adds the specified 'global' GraphicsNodeKeyListener which is notified of all KeyEvents dispatched.
 void addGraphicsNodeMouseListener(GraphicsNodeMouseListener l)
          Adds the specified 'global' GraphicsNodeMouseListener which is notified of all MouseEvents dispatched.
 void addGraphicsNodeMouseWheelListener(GraphicsNodeMouseWheelListener l)
          Adds the specified 'global' GraphicsNodeMouseWheelListener which is notified of all MouseWheelEvents dispatched.
 void dispatchEvent(EventObject evt)
          Dispatches the specified AWT event.
protected  void dispatchKeyEvent(KeyEvent evt)
          Dispatches the specified AWT key event.
protected  void dispatchMouseEvent(MouseEvent evt)
          Dispatches the specified AWT mouse event.
protected  void dispatchMouseWheelEvent(MouseWheelEvent evt)
          Dispatches the specified AWT mouse wheel event.
 AffineTransform getBaseTransform()
          Returns the base transform applied to MouseEvent coordinates prior to dispatch.
protected  int getCurrentLockState()
          Returns a bitmask representing the state of the key locks.
 EventListener[] getListeners(Class listenerType)
          Returns an array of listeners that were added to this event dispatcher and of the specified type.
 GraphicsNode getRootNode()
          Returns the root node for MouseEvent dispatch containment searches and field selections.
protected static boolean isMetaDown(int modifiers)
          Returns whether the meta key is down according to the given modifiers bitfield.
protected  boolean isNodeDecrementEvent(InputEvent e)
          Returns true if the input event e is a node decrement event, false otherwise.
protected  boolean isNodeIncrementEvent(InputEvent e)
          Returns true if the input event e is a node increment event, false otherwise.
 void keyPressed(KeyEvent evt)
          Dispatches the specified AWT key event down to the GVT tree.
 void keyReleased(KeyEvent evt)
          Dispatches the specified AWT key event down to the GVT tree.
 void keyTyped(KeyEvent evt)
          Dispatches the specified AWT key event down to the GVT tree.
 void mouseClicked(MouseEvent evt)
          Dispatches the specified AWT mouse event down to the GVT tree.
 void mouseDragged(MouseEvent evt)
          Dispatches the specified AWT mouse event down to the GVT tree.
 void mouseEntered(MouseEvent evt)
          Dispatches the specified AWT mouse event down to the GVT tree.
 void mouseExited(MouseEvent evt)
          Dispatches the specified AWT mouse event down to the GVT tree.
 void mouseMoved(MouseEvent evt)
          Dispatches the specified AWT mouse event down to the GVT tree.
 void mousePressed(MouseEvent evt)
          Dispatches the specified AWT mouse event down to the GVT tree.
 void mouseReleased(MouseEvent evt)
          Dispatches the specified AWT mouse event down to the GVT tree.
 void mouseWheelMoved(MouseWheelEvent evt)
          Dispatches the specified AWT mouse wheel event down to the GVT tree.
 void processKeyEvent(GraphicsNodeKeyEvent evt)
          Dispatches a graphics node key event to by firing the 'global' listeners attached to this event dispatcher.
protected  void processMouseEvent(GraphicsNodeMouseEvent evt)
          Processes the specified event by firing the 'global' listeners attached to this event dispatcher.
protected  void processMouseWheelEvent(GraphicsNodeMouseWheelEvent evt)
          Processes the specified event by firing the 'global' listeners attached to this event dispatcher.
 void removeGraphicsNodeKeyListener(GraphicsNodeKeyListener l)
          Removes the specified 'global' GraphicsNodeKeyListener which is notified of all KeyEvents dispatched.
 void removeGraphicsNodeMouseListener(GraphicsNodeMouseListener l)
          Removes the specified 'global' GraphicsNodeMouseListener which is notified of all MouseEvents dispatched.
 void removeGraphicsNodeMouseWheelListener(GraphicsNodeMouseWheelListener l)
          Removes the specified 'global' GraphicsNodeMouseWheelListener which is notified of all MouseWheelEvents dispatched.
 void setBaseTransform(AffineTransform t)
          Sets the base transform applied to MouseEvent coordinates prior to dispatch.
 void setEventDispatchEnabled(boolean b)
           
 void setEventQueueMaxSize(int n)
           
 void setNodeDecrementEvent(InputEvent e)
          Associates all InputEvents of type e.getID() with "decrementing" of the currently selected GraphicsNode.
 void setNodeIncrementEvent(InputEvent e)
          Associates all InputEvents of type e.getID() with "incrementing" of the currently selected GraphicsNode.
 void setRootNode(GraphicsNode root)
          Sets the root node for MouseEvent dispatch containment searches and field selections.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

root

protected GraphicsNode root
The root GraphicsNode as determined by setRootNode().


baseTransform

protected AffineTransform baseTransform
The base AffineTransform for InputEvent-to-GraphicsNodeEvent coordinates as determined by setBaseTransform().


glisteners

protected EventListenerList glisteners
The global listener list.


lastHit

protected GraphicsNode lastHit
The lastest node which has been targeted by an event.


currentKeyEventTarget

protected GraphicsNode currentKeyEventTarget
The current GraphicsNode targeted by an key events.


eventQueue

protected List eventQueue
These are used to queue events while a rendering event is in progress.


eventDispatchEnabled

protected boolean eventDispatchEnabled

eventQueueMaxSize

protected int eventQueueMaxSize
Constructor Detail

AWTEventDispatcher

public AWTEventDispatcher()
Constructs a new event dispatcher.

Method Detail

setRootNode

public void setRootNode(GraphicsNode root)
Sets the root node for MouseEvent dispatch containment searches and field selections.

Specified by:
setRootNode in interface EventDispatcher
Parameters:
root - the root node

getRootNode

public GraphicsNode getRootNode()
Returns the root node for MouseEvent dispatch containment searches and field selections.

Specified by:
getRootNode in interface EventDispatcher

setBaseTransform

public void setBaseTransform(AffineTransform t)
Sets the base transform applied to MouseEvent coordinates prior to dispatch.

Specified by:
setBaseTransform in interface EventDispatcher
Parameters:
t - the affine transform

getBaseTransform

public AffineTransform getBaseTransform()
Returns the base transform applied to MouseEvent coordinates prior to dispatch.

Specified by:
getBaseTransform in interface EventDispatcher

mousePressed

public void mousePressed(MouseEvent evt)
Dispatches the specified AWT mouse event down to the GVT tree. The mouse event is mutated to a GraphicsNodeMouseEvent.

Specified by:
mousePressed in interface MouseListener
Parameters:
evt - the mouse event to propagate

mouseReleased

public void mouseReleased(MouseEvent evt)
Dispatches the specified AWT mouse event down to the GVT tree. The mouse event is mutated to a GraphicsNodeMouseEvent.

Specified by:
mouseReleased in interface MouseListener
Parameters:
evt - the mouse event to propagate

mouseEntered

public void mouseEntered(MouseEvent evt)
Dispatches the specified AWT mouse event down to the GVT tree. The mouse event is mutated to a GraphicsNodeMouseEvent.

Specified by:
mouseEntered in interface MouseListener
Parameters:
evt - the mouse event to propagate

mouseExited

public void mouseExited(MouseEvent evt)
Dispatches the specified AWT mouse event down to the GVT tree. The mouse event is mutated to a GraphicsNodeMouseEvent.

Specified by:
mouseExited in interface MouseListener
Parameters:
evt - the mouse event to propagate

mouseClicked

public void mouseClicked(MouseEvent evt)
Dispatches the specified AWT mouse event down to the GVT tree. The mouse event is mutated to a GraphicsNodeMouseEvent.

Specified by:
mouseClicked in interface MouseListener
Parameters:
evt - the mouse event to propagate

mouseMoved

public void mouseMoved(MouseEvent evt)
Dispatches the specified AWT mouse event down to the GVT tree. The mouse event is mutated to a GraphicsNodeMouseEvent.

Specified by:
mouseMoved in interface MouseMotionListener
Parameters:
evt - the mouse event to propagate

mouseDragged

public void mouseDragged(MouseEvent evt)
Dispatches the specified AWT mouse event down to the GVT tree. The mouse event is mutated to a GraphicsNodeMouseEvent.

Specified by:
mouseDragged in interface MouseMotionListener
Parameters:
evt - the mouse event to propagate

mouseWheelMoved

public void mouseWheelMoved(MouseWheelEvent evt)
Dispatches the specified AWT mouse wheel event down to the GVT tree. The mouse wheel event is mutated to a GraphicsNodeMouseWheelEvent.

Specified by:
mouseWheelMoved in interface MouseWheelListener
Parameters:
evt - the mouse event to propagate

keyPressed

public void keyPressed(KeyEvent evt)
Dispatches the specified AWT key event down to the GVT tree. The mouse event is mutated to a GraphicsNodeKeyEvent.

Specified by:
keyPressed in interface KeyListener
Parameters:
evt - the key event to propagate

keyReleased

public void keyReleased(KeyEvent evt)
Dispatches the specified AWT key event down to the GVT tree. The mouse event is mutated to a GraphicsNodeKeyEvent.

Specified by:
keyReleased in interface KeyListener
Parameters:
evt - the key event to propagate

keyTyped

public void keyTyped(KeyEvent evt)
Dispatches the specified AWT key event down to the GVT tree. The mouse event is mutated to a GraphicsNodeKeyEvent.

Specified by:
keyTyped in interface KeyListener
Parameters:
evt - the key event to propagate

addGraphicsNodeMouseListener

public void addGraphicsNodeMouseListener(GraphicsNodeMouseListener l)
Adds the specified 'global' GraphicsNodeMouseListener which is notified of all MouseEvents dispatched.

Specified by:
addGraphicsNodeMouseListener in interface EventDispatcher
Parameters:
l - the listener to add

removeGraphicsNodeMouseListener

public void removeGraphicsNodeMouseListener(GraphicsNodeMouseListener l)
Removes the specified 'global' GraphicsNodeMouseListener which is notified of all MouseEvents dispatched.

Specified by:
removeGraphicsNodeMouseListener in interface EventDispatcher
Parameters:
l - the listener to remove

addGraphicsNodeMouseWheelListener

public void addGraphicsNodeMouseWheelListener(GraphicsNodeMouseWheelListener l)
Adds the specified 'global' GraphicsNodeMouseWheelListener which is notified of all MouseWheelEvents dispatched.

Specified by:
addGraphicsNodeMouseWheelListener in interface EventDispatcher
Parameters:
l - the listener to add

removeGraphicsNodeMouseWheelListener

public void removeGraphicsNodeMouseWheelListener(GraphicsNodeMouseWheelListener l)
Removes the specified 'global' GraphicsNodeMouseWheelListener which is notified of all MouseWheelEvents dispatched.

Specified by:
removeGraphicsNodeMouseWheelListener in interface EventDispatcher
Parameters:
l - the listener to remove

addGraphicsNodeKeyListener

public void addGraphicsNodeKeyListener(GraphicsNodeKeyListener l)
Adds the specified 'global' GraphicsNodeKeyListener which is notified of all KeyEvents dispatched.

Specified by:
addGraphicsNodeKeyListener in interface EventDispatcher
Parameters:
l - the listener to add

removeGraphicsNodeKeyListener

public void removeGraphicsNodeKeyListener(GraphicsNodeKeyListener l)
Removes the specified 'global' GraphicsNodeKeyListener which is notified of all KeyEvents dispatched.

Specified by:
removeGraphicsNodeKeyListener in interface EventDispatcher
Parameters:
l - the listener to remove

getListeners

public EventListener[] getListeners(Class listenerType)
Returns an array of listeners that were added to this event dispatcher and of the specified type.

Specified by:
getListeners in interface EventDispatcher
Parameters:
listenerType - the type of the listeners to return

setEventDispatchEnabled

public void setEventDispatchEnabled(boolean b)

setEventQueueMaxSize

public void setEventQueueMaxSize(int n)

dispatchEvent

public void dispatchEvent(EventObject evt)
Dispatches the specified AWT event.

Specified by:
dispatchEvent in interface EventDispatcher
Parameters:
evt - the event to dispatch

getCurrentLockState

protected int getCurrentLockState()
Returns a bitmask representing the state of the key locks.


dispatchKeyEvent

protected void dispatchKeyEvent(KeyEvent evt)
Dispatches the specified AWT key event.

Parameters:
evt - the key event to dispatch

dispatchMouseEvent

protected void dispatchMouseEvent(MouseEvent evt)
Dispatches the specified AWT mouse event.

Parameters:
evt - the mouse event to dispatch

dispatchMouseWheelEvent

protected void dispatchMouseWheelEvent(MouseWheelEvent evt)
Dispatches the specified AWT mouse wheel event.

Parameters:
evt - the mouse wheel event to dispatch

processMouseEvent

protected void processMouseEvent(GraphicsNodeMouseEvent evt)
Processes the specified event by firing the 'global' listeners attached to this event dispatcher.

Parameters:
evt - the event to process

processMouseWheelEvent

protected void processMouseWheelEvent(GraphicsNodeMouseWheelEvent evt)
Processes the specified event by firing the 'global' listeners attached to this event dispatcher.

Parameters:
evt - the event to process

processKeyEvent

public void processKeyEvent(GraphicsNodeKeyEvent evt)
Dispatches a graphics node key event to by firing the 'global' listeners attached to this event dispatcher.

Parameters:
evt - the evt to dispatch

setNodeIncrementEvent

public void setNodeIncrementEvent(InputEvent e)
Associates all InputEvents of type e.getID() with "incrementing" of the currently selected GraphicsNode.

Specified by:
setNodeIncrementEvent in interface EventDispatcher

setNodeDecrementEvent

public void setNodeDecrementEvent(InputEvent e)
Associates all InputEvents of type e.getID() with "decrementing" of the currently selected GraphicsNode. The notion of "currently selected" GraphicsNode is used for dispatching KeyEvents.

Specified by:
setNodeDecrementEvent in interface EventDispatcher

isNodeIncrementEvent

protected boolean isNodeIncrementEvent(InputEvent e)
Returns true if the input event e is a node increment event, false otherwise.

Parameters:
e - the input event

isNodeDecrementEvent

protected boolean isNodeDecrementEvent(InputEvent e)
Returns true if the input event e is a node decrement event, false otherwise.


isMetaDown

protected static boolean isMetaDown(int modifiers)
Returns whether the meta key is down according to the given modifiers bitfield.



Copyright © 2017 Apache Software Foundation. All Rights Reserved.