org.omegahat.Graphics.Plots.Examples.Events
Class PointerWatch

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Frame
                          |
                          +--javax.swing.JFrame
                                |
                                +--org.omegahat.Environment.GUITools.GenericFrame
                                      |
                                      +--org.omegahat.Graphics.Plots.Examples.Events.PointerWatch
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.awt.event.MouseMotionListener, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

public class PointerWatch
extends GenericFrame
implements java.awt.event.MouseMotionListener

Simple example of a low-level listener to a plot used to display the location of the mouse in native coordinates of the data region of the plot as the mouse moves around the device. Not robust at all to change in plot type, etc. Displays a label in a separate window and constatntly updates its contents by formatting the X and Y coordinates coverted from Raw Device Coordinates to Native Coordinates of the data region. Currently requires DynamicGraphicalContainer.

See Also:
Serialized Form

Inner classes inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Inner classes inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Inner classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent
 
Field Summary
static int X_ID
           
static int Y_ID
           
 
Fields inherited from class org.omegahat.Environment.GUITools.GenericFrame
menuBar
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
PointerWatch()
          Create the window and display region for the mouse location.
PointerWatch(java.awt.Component comp)
          Create the default display and register for mouse motion events on the specified component, assumed to be the graphics device.
 
Method Summary
 void mouseDragged(java.awt.event.MouseEvent e)
          Dragging and just general moving the mouse both display the coordinates.
 void mouseMoved(java.awt.event.MouseEvent e)
          Display the coordinates of the mouse in the label in response to mouse motion being reported.
 void show(java.awt.event.MouseEvent e)
          Display the current position of the mouse relative the native coordinates of the data region of the device and its plot.
static double toNDC(double val, int which, java.awt.Rectangle r)
          Normalizes the specified value relative to the value of the appropriate dimension of the rectangle.
static double toNDC(java.awt.event.MouseEvent ev, int which)
          Convert the appropriate mouse location coordinate to Normalized Device Coordinates (NDC), where appropriate is specified by the which argument
static double toNLC(double val, int which, RectRegion rr, java.awt.Rectangle bounds)
           
static double toNLC(java.awt.event.MouseEvent ev, int which)
          Convert the mouse event to local normalized coordinates, local to the given graphical component.
static double toNLC(java.awt.event.MouseEvent ev, int which, RectRegion rr, java.awt.Rectangle bounds)
           
 
Methods inherited from class org.omegahat.Environment.GUITools.GenericFrame
actionPerformed, component, component, createMenu, createMenuBar, createMenuBar, defaultBounds, init, menuBar, menuBar
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isRootPaneCheckingEnabled, paramString, processKeyEvent, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getCursorType, getFrames, getIconImage, getMenuBar, getState, getTitle, isResizable, remove, removeNotify, setCursor, setIconImage, setMenuBar, setResizable, setState, setTitle
 
Methods inherited from class java.awt.Window
addWindowListener, applyResourceBundle, applyResourceBundle, dispose, getFocusOwner, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getOwnedWindows, getOwner, getToolkit, getWarningString, hide, isShowing, pack, postEvent, processEvent, removeWindowListener, setCursor, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setFont, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputMethodRequests, getLocation, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isFocusTraversable, isLightweight, isOpaque, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseMotionEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

X_ID

public static final int X_ID

Y_ID

public static final int Y_ID
Constructor Detail

PointerWatch

public PointerWatch()
Create the window and display region for the mouse location. Also, instantiate a number formatting object for controlling the number of digits in the display.

PointerWatch

public PointerWatch(java.awt.Component comp)
Create the default display and register for mouse motion events on the specified component, assumed to be the graphics device.
Method Detail

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent e)
Dragging and just general moving the mouse both display the coordinates.
Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent e)
Display the coordinates of the mouse in the label in response to mouse motion being reported.
Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener

show

public void show(java.awt.event.MouseEvent e)
Display the current position of the mouse relative the native coordinates of the data region of the device and its plot.

toNDC

public static double toNDC(java.awt.event.MouseEvent ev,
                           int which)
Convert the appropriate mouse location coordinate to Normalized Device Coordinates (NDC), where appropriate is specified by the which argument
Parameters:
the - mouse event containing the x and y positions in pixels - device coordinates - and the source of the event from which we can get the absolute dimensions with which we normalize.
either - X_ID or Y_ID

Used also in SelectionTracker.


toNDC

public static double toNDC(double val,
                           int which,
                           java.awt.Rectangle r)
Normalizes the specified value relative to the value of the appropriate dimension of the rectangle.

toNLC

public static double toNLC(java.awt.event.MouseEvent ev,
                           int which)
Convert the mouse event to local normalized coordinates, local to the given graphical component.

toNLC

public static double toNLC(java.awt.event.MouseEvent ev,
                           int which,
                           RectRegion rr,
                           java.awt.Rectangle bounds)

toNLC

public static double toNLC(double val,
                           int which,
                           RectRegion rr,
                           java.awt.Rectangle bounds)