Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jdesktop.swingx.rollover
Class RolloverProducer

    java.lang.Object
      org.jdesktop.swingx.rollover.RolloverProducer

All Implemented Interfaces:
  java.awt.event.ComponentListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.util.EventListener

Direct Known Subclasses:
  ListRolloverProducer, TableRolloverProducer, TreeRolloverProducer

    public abstract class RolloverProducer

extends java.lang.Object
implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.ComponentListener

Mouse/Motion/Listener which maps mouse coordinates to client coordinates and stores these as client properties in the target JComponent. The exact mapping process is left to subclasses. Typically, they will map to "cell" coordinates.

Note: this class assumes that the target component is of type JComponent.

Note: this implementation is stateful, it can't be shared across different instances of a target component.

Author:
  Jeanette Winzenburg

Field Summary
`static java.lang.String` | `CLICKED_KEY` Key for client property mapped from mouse-triggered action.
`protected java.awt.Point` | `rollover` Current mouse location in client coordinates.
`static java.lang.String` | `ROLLOVER_KEY` Key for client property mapped from rollover events

Constructor Summary
`RolloverProducer()`

Method Summary
`void` | `componentHidden(java.awt.event.ComponentEvent e)`
`void` | `componentMoved(java.awt.event.ComponentEvent e)`
`void` | `componentResized(java.awt.event.ComponentEvent e)`
`void` | `componentShown(java.awt.event.ComponentEvent e)`
`void` | `install(javax.swing.JComponent component)` Installs all listeners, as required.
`void` | `mouseClicked(java.awt.event.MouseEvent e)` Implemented to do nothing.
`void` | `mouseDragged(java.awt.event.MouseEvent e)` Implemented to do nothing.
`void` | `mouseEntered(java.awt.event.MouseEvent e)` Implemented to map to client property rollover and fire only if client coordinate changed.
`void` | `mouseExited(java.awt.event.MouseEvent e)` Implemented to remove client properties rollover and clicked.
`void` | `mouseMoved(java.awt.event.MouseEvent e)` Implemented to map to client property rollover and fire only if client coordinate changed.
`void` | `mousePressed(java.awt.event.MouseEvent e)` Implemented to do nothing.
`void` | `mouseReleased(java.awt.event.MouseEvent e)` Implemented to map to client property clicked and fire always.
`void` | `release(javax.swing.JComponent component)` Removes all listeners.
`protected void` | `updateClientProperty(javax.swing.JComponent component, java.lang.String property, boolean fireAlways)` Sets the given client property to the value of current mouse location in client coordinates.
`protected void` | `updateRollover(java.awt.event.MouseEvent e, java.lang.String property, boolean fireAlways)` Controls the mapping of the given mouse event to a client property.
`protected abstract void` | `updateRolloverPoint(javax.swing.JComponent component, java.awt.Point mousePoint)` Subclasses must implement to map the given mouse coordinates into appropriate client coordinates.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### CLICKED_KEY

    public static final java.lang.String CLICKED_KEY

  Key for client property mapped from mouse-triggered action. Note that the actual mouse-event which results in setting the property depends on the implementation of the concrete RolloverProducer.

  See Also:
    Constant Field Values

### ROLLOVER_KEY

    public static final java.lang.String ROLLOVER_KEY

  Key for client property mapped from rollover events

  See Also:
    Constant Field Values

### rollover

    protected java.awt.Point rollover

  Current mouse location in client coordinates.

Constructor Detail

### RolloverProducer

    public RolloverProducer()

Method Detail

### install

    public void install(javax.swing.JComponent component)

  Installs all listeners, as required.

  Parameters:
    `component` - target to install required listeners on, must not be null.

### release

    public void release(javax.swing.JComponent component)

  Removes all listeners.

  Parameters:
    `component` - target component to uninstall required listeners from, must not be null

### mouseReleased

    public void mouseReleased(java.awt.event.MouseEvent e)

  Implemented to map to client property clicked and fire always.

  Specified by:
    `mouseReleased` in interface `java.awt.event.MouseListener`

### mouseEntered

    public void mouseEntered(java.awt.event.MouseEvent e)

  Implemented to map to client property rollover and fire only if client coordinate changed.

  Specified by:
    `mouseEntered` in interface `java.awt.event.MouseListener`

### mouseExited

    public void mouseExited(java.awt.event.MouseEvent e)

  Implemented to remove client properties rollover and clicked. if the source is a JComponent. Does nothing otherwise.

  Specified by:
    `mouseExited` in interface `java.awt.event.MouseListener`

### mouseClicked

    public void mouseClicked(java.awt.event.MouseEvent e)

  Implemented to do nothing.

  Specified by:
    `mouseClicked` in interface `java.awt.event.MouseListener`

### mousePressed

    public void mousePressed(java.awt.event.MouseEvent e)

  Implemented to do nothing.

  Specified by:
    `mousePressed` in interface `java.awt.event.MouseListener`

### mouseDragged

    public void mouseDragged(java.awt.event.MouseEvent e)

  Implemented to do nothing. PENDING JW: probably should do something? Mapped coordinates will be out of synch after a drag.

  Specified by:
    `mouseDragged` in interface `java.awt.event.MouseMotionListener`

### mouseMoved

    public void mouseMoved(java.awt.event.MouseEvent e)

  Implemented to map to client property rollover and fire only if client coordinate changed.

  Specified by:
    `mouseMoved` in interface `java.awt.event.MouseMotionListener`

### componentShown

    public void componentShown(java.awt.event.ComponentEvent e)

  Specified by:
    `componentShown` in interface `java.awt.event.ComponentListener`

### componentResized

    public void componentResized(java.awt.event.ComponentEvent e)

  Specified by:
    `componentResized` in interface `java.awt.event.ComponentListener`

### componentMoved

    public void componentMoved(java.awt.event.ComponentEvent e)

  Specified by:
    `componentMoved` in interface `java.awt.event.ComponentListener`

### componentHidden

    public void componentHidden(java.awt.event.ComponentEvent e)

  Specified by:
    `componentHidden` in interface `java.awt.event.ComponentListener`

### updateRollover

    protected void updateRollover(java.awt.event.MouseEvent e,
                                  java.lang.String property,
                                  boolean fireAlways)

  Controls the mapping of the given mouse event to a client property. This implementation first calls updateRolloverPoint to convert the mouse coordinates. Then calls updateClientProperty to actually set the client property in the

  Parameters:
    `e` - the MouseEvent to map to client coordinates
    `property` - the client property to map to
    `fireAlways` - a flag indicating whether a client event should be fired if unchanged.
  See Also:
    `updateRolloverPoint(JComponent, Point)`, `updateClientProperty(JComponent, String, boolean)`

### updateClientProperty

    protected void updateClientProperty(javax.swing.JComponent component,
                                        java.lang.String property,
                                        boolean fireAlways)

  Sets the given client property to the value of current mouse location in client coordinates. If fireAlways, the property is force to fire a change.

  Parameters:
    `component` - the target component
    `property` - the client property to set
    `fireAlways` - a flag indicating whether a client property should be forced to fire an event.

### updateRolloverPoint

    protected abstract void updateRolloverPoint(javax.swing.JComponent component,
                                                java.awt.Point mousePoint)

  Subclasses must implement to map the given mouse coordinates into appropriate client coordinates. The result must be stored in the rollover field.

  Parameters:
    `component` - the target component which received a mouse event
    `mousePoint` - the mouse position of the event, coordinates are component pixels

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2010. All Rights Reserved.