Class RolloverProducer

    • Field Detail

      • CLICKED_KEY

        public static final 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 String ROLLOVER_KEY
        Key for client property mapped from rollover events
        See Also:
        Constant Field Values
      • rollover

        protected Point rollover
        Current mouse location in client coordinates.
    • Constructor Detail

      • RolloverProducer

        public RolloverProducer()
    • Method Detail

      • install

        public void install​(JComponent component)
        Installs all listeners, as required.
        Parameters:
        component - target to install required listeners on, must not be null.
      • release

        public void release​(JComponent component)
        Removes all listeners.
        Parameters:
        component - target component to uninstall required listeners from, must not be null
      • mouseReleased

        public void mouseReleased​(MouseEvent e)
        Implemented to map to client property clicked and fire always.
        Specified by:
        mouseReleased in interface MouseListener
      • mouseEntered

        public void mouseEntered​(MouseEvent e)
        Implemented to map to client property rollover and fire only if client coordinate changed.
        Specified by:
        mouseEntered in interface MouseListener
      • mouseExited

        public void mouseExited​(MouseEvent e)
        Implemented to remove client properties rollover and clicked. if the source is a JComponent. Does nothing otherwise.
        Specified by:
        mouseExited in interface MouseListener
      • mouseDragged

        public void mouseDragged​(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 MouseMotionListener
      • mouseMoved

        public void mouseMoved​(MouseEvent e)
        Implemented to map to client property rollover and fire only if client coordinate changed.
        Specified by:
        mouseMoved in interface MouseMotionListener
      • updateRollover

        protected void updateRollover​(MouseEvent e,
                                      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​(JComponent component,
                                            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​(JComponent component,
                                                    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