Class JPruningBar

  • All Implemented Interfaces:
    java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

    public class JPruningBar
    extends javax.swing.JPanel
    implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener
    Lightweight Slider for maintaining two values within given limits
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JPanel

        javax.swing.JPanel.AccessibleJPanel
      • Nested classes/interfaces inherited from class javax.swing.JComponent

        javax.swing.JComponent.AccessibleJComponent
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      • Fields inherited from class javax.swing.JComponent

        listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
      • Fields inherited from class java.awt.Component

        accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
      • Fields inherited from interface java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    • Constructor Summary

      Constructors 
      Constructor Description
      JPruningBar()  
      JPruningBar​(boolean isHorizontal)  
      JPruningBar​(boolean isHorizontal, int id)  
      JPruningBar​(float min, float max, boolean isHorizontal, int id)  
      JPruningBar​(float min, float max, boolean isHorizontal, int id, boolean allowDoubleClick)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addPruningBarListener​(PruningBarListener listener)  
      void firePruningBarChanged()  
      float getHighValue()  
      float getLowValue()  
      java.awt.Dimension getMaximumSize()  
      float getMaximumValue()  
      java.awt.Dimension getMinimumSize()  
      float getMinimumValue()  
      java.awt.Dimension getPreferredSize()  
      void mouseClicked​(java.awt.event.MouseEvent e)
      If this pruning bar allows changes via double click and text input, then such an action will cause a PruningBarEvent with type=TYPE_TYPED.
      void mouseDragged​(java.awt.event.MouseEvent e)  
      void mouseEntered​(java.awt.event.MouseEvent e)  
      void mouseExited​(java.awt.event.MouseEvent e)  
      void mouseMoved​(java.awt.event.MouseEvent e)  
      void mousePressed​(java.awt.event.MouseEvent e)  
      void mouseReleased​(java.awt.event.MouseEvent e)  
      void paintComponent​(java.awt.Graphics g)  
      void removePruningBarListener​(PruningBarListener listener)  
      void reset()
      Sets high and low values to max and min, respectively.
      void setHighValue​(float high)
      Updates the high value provided the new value is >= current low and <= current max.
      void setID​(int id)  
      void setLowAndHigh​(float low, float high, boolean silent)
      Updates the low and high values simultaniously, provided the low <= high, low >= current min, and high <= current max.
      void setLowValue​(float low)
      Updates the low value provided the new value is >= current min and <= current high.
      void setMaximumValue​(float max)
      Updates the maximum value; may update low and high to stay within limits Sends PruningBarEvents in case of a successful change.
      void setMinAndMax​(float min, float max)
      Initializes the bar by setting min and low/max and high to the values given.
      void setMinimumValue​(float min)
      Updates the minimum value; may update low and high to stay within limits Sends PruningBarEvents in case of a successful change.
      void setUseRedColor​(boolean useRed)  
      void update​(java.awt.Graphics g)  
      • Methods inherited from class javax.swing.JPanel

        getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
      • Methods inherited from class javax.swing.JComponent

        addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction
      • Methods inherited from class java.awt.Container

        add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
      • Methods inherited from class java.awt.Component

        action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • JPruningBar

        public JPruningBar()
      • JPruningBar

        public JPruningBar​(boolean isHorizontal)
      • JPruningBar

        public JPruningBar​(boolean isHorizontal,
                           int id)
      • JPruningBar

        public JPruningBar​(float min,
                           float max,
                           boolean isHorizontal,
                           int id)
      • JPruningBar

        public JPruningBar​(float min,
                           float max,
                           boolean isHorizontal,
                           int id,
                           boolean allowDoubleClick)
    • Method Detail

      • paintComponent

        public void paintComponent​(java.awt.Graphics g)
        Overrides:
        paintComponent in class javax.swing.JComponent
      • update

        public void update​(java.awt.Graphics g)
        Overrides:
        update in class javax.swing.JComponent
      • getLowValue

        public float getLowValue()
      • getHighValue

        public float getHighValue()
      • getMaximumValue

        public float getMaximumValue()
      • getMinimumValue

        public float getMinimumValue()
      • reset

        public void reset()
        Sets high and low values to max and min, respectively. Sends PruningBarEvents in case of a change.
      • setLowAndHigh

        public void setLowAndHigh​(float low,
                                  float high,
                                  boolean silent)
        Updates the low and high values simultaniously, provided the low <= high, low >= current min, and high <= current max.
        Parameters:
        low -
        high -
        silent - if true, PruningBarEvents are suppressed
      • setLowValue

        public void setLowValue​(float low)
        Updates the low value provided the new value is >= current min and <= current high. Sends PruningBarEvents in case of a successful change.
        Parameters:
        low -
      • setID

        public void setID​(int id)
      • setHighValue

        public void setHighValue​(float high)
        Updates the high value provided the new value is >= current low and <= current max. Sends PruningBarEvents in case of a successful change.
        Parameters:
        high -
      • setMaximumValue

        public void setMaximumValue​(float max)
        Updates the maximum value; may update low and high to stay within limits Sends PruningBarEvents in case of a successful change.
        Parameters:
        max -
      • setMinimumValue

        public void setMinimumValue​(float min)
        Updates the minimum value; may update low and high to stay within limits Sends PruningBarEvents in case of a successful change.
        Parameters:
        min -
      • setMinAndMax

        public void setMinAndMax​(float min,
                                 float max)
        Initializes the bar by setting min and low/max and high to the values given. Does not(!) send PruningBarEvents.
        Parameters:
        min -
        max -
      • setUseRedColor

        public void setUseRedColor​(boolean useRed)
      • getMinimumSize

        public java.awt.Dimension getMinimumSize()
        Overrides:
        getMinimumSize in class javax.swing.JComponent
      • getPreferredSize

        public java.awt.Dimension getPreferredSize()
        Overrides:
        getPreferredSize in class javax.swing.JComponent
      • getMaximumSize

        public java.awt.Dimension getMaximumSize()
        Overrides:
        getMaximumSize in class javax.swing.JComponent
      • mousePressed

        public void mousePressed​(java.awt.event.MouseEvent e)
        Specified by:
        mousePressed in interface java.awt.event.MouseListener
      • mouseReleased

        public void mouseReleased​(java.awt.event.MouseEvent e)
        Specified by:
        mouseReleased in interface java.awt.event.MouseListener
      • mouseEntered

        public void mouseEntered​(java.awt.event.MouseEvent e)
        Specified by:
        mouseEntered in interface java.awt.event.MouseListener
      • mouseExited

        public void mouseExited​(java.awt.event.MouseEvent e)
        Specified by:
        mouseExited in interface java.awt.event.MouseListener
      • mouseClicked

        public void mouseClicked​(java.awt.event.MouseEvent e)
        If this pruning bar allows changes via double click and text input, then such an action will cause a PruningBarEvent with type=TYPE_TYPED. Its low or high value will contain the number that the user has typed in. The other value will be Float.NaN. The JPruningBar will not update internal values, because JPruningBar scale and user visible scale may be different. The receiver of the event is responsible to translate the user number into JPuningBar scale and call the pruning bar's setLowValue() or setHighValue().
        Specified by:
        mouseClicked in interface java.awt.event.MouseListener
        Parameters:
        e -
      • mouseDragged

        public void mouseDragged​(java.awt.event.MouseEvent e)
        Specified by:
        mouseDragged in interface java.awt.event.MouseMotionListener
      • mouseMoved

        public void mouseMoved​(java.awt.event.MouseEvent e)
        Specified by:
        mouseMoved in interface java.awt.event.MouseMotionListener
      • addPruningBarListener

        public void addPruningBarListener​(PruningBarListener listener)
      • removePruningBarListener

        public void removePruningBarListener​(PruningBarListener listener)
      • firePruningBarChanged

        public void firePruningBarChanged()