Class JXGradientChooser

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.Scrollable, AlphaPaintable, BackgroundPaintable

    @JavaBean
    public class JXGradientChooser
    extends JXPanel

    A specialized JXPanel that allows the user to construct and choose a Gradient. The returned values will be one of: LinearGradientPaint or RadialGradientPaint.

    Dependency: Because this class relies on LinearGradientPaint and RadialGradientPaint, it requires the optional MultipleGradientPaint.jar

    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private javax.swing.JButton addThumbButton  
      private javax.swing.JSlider alphaSlider  
      private javax.swing.JSpinner alphaSpinner  
      private JXColorSelectionButton changeColorButton  
      private javax.swing.JTextField colorField  
      private javax.swing.JSpinner colorLocationSpinner  
      private javax.swing.JButton deleteThumbButton  
      private java.awt.MultipleGradientPaint gradient  
      private GradientPreviewPanel gradientPreview  
      private java.util.logging.Logger log  
      private javax.swing.JRadioButton noCycleRadio  
      private javax.swing.JPanel previewPanel
      This method is called from within the constructor to initialize the form.
      private javax.swing.JRadioButton reflectedRadio  
      private javax.swing.JRadioButton repeatedRadio  
      private javax.swing.JCheckBox reversedCheck  
      private JXMultiThumbSlider<java.awt.Color> slider
      The multi-thumb slider to use for the gradient stops
      private javax.swing.JComboBox styleCombo  
      private boolean thumbsMoving  
      private javax.swing.JPanel topPanel
      This method is called from within the constructor to initialize the form.
      • 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
      JXGradientChooser()
      Creates new JXGradientChooser
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.awt.MultipleGradientPaint getGradient()
      Returns the MultipleGradientPaint currently choosen by the user.
      private void initComponents()  
      private void initComponents2()  
      private void recalcGradientFromStops()  
      private void selectColorForThumb()  
      void setGradient​(java.awt.MultipleGradientPaint mgrad)
      Sets the gradient within this panel to the new gradient.
      static java.awt.MultipleGradientPaint showDialog​(java.awt.Component comp, java.lang.String title, java.awt.MultipleGradientPaint mgrad)
      This static utility method cannot be called from the ETD, or your application will lock up.
      static java.lang.String toString​(java.awt.MultipleGradientPaint paint)
      Creates a string representation of a MultipleGradientPaint.
      private void updateDeleteButtons()  
      private void updateFromStop​(int thumb, float position, java.awt.Color color)  
      private void updateFromStop​(Thumb<java.awt.Color> thumb)  
      private void updateGradientProperty()  
      • 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, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, 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, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
      • 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
    • Field Detail

      • slider

        private JXMultiThumbSlider<java.awt.Color> slider
        The multi-thumb slider to use for the gradient stops
      • deleteThumbButton

        private javax.swing.JButton deleteThumbButton
      • addThumbButton

        private javax.swing.JButton addThumbButton
      • colorField

        private javax.swing.JTextField colorField
      • colorLocationSpinner

        private javax.swing.JSpinner colorLocationSpinner
      • alphaSpinner

        private javax.swing.JSpinner alphaSpinner
      • alphaSlider

        private javax.swing.JSlider alphaSlider
      • styleCombo

        private javax.swing.JComboBox styleCombo
      • noCycleRadio

        private javax.swing.JRadioButton noCycleRadio
      • reflectedRadio

        private javax.swing.JRadioButton reflectedRadio
      • repeatedRadio

        private javax.swing.JRadioButton repeatedRadio
      • reversedCheck

        private javax.swing.JCheckBox reversedCheck
      • gradient

        private java.awt.MultipleGradientPaint gradient
      • thumbsMoving

        private boolean thumbsMoving
      • log

        private java.util.logging.Logger log
      • topPanel

        private javax.swing.JPanel topPanel
        This method is called from within the constructor to initialize the form.
      • previewPanel

        private javax.swing.JPanel previewPanel
        This method is called from within the constructor to initialize the form.
    • Constructor Detail

      • JXGradientChooser

        public JXGradientChooser()
        Creates new JXGradientChooser
    • Method Detail

      • getGradient

        public java.awt.MultipleGradientPaint getGradient()
        Returns the MultipleGradientPaint currently choosen by the user.
        Returns:
        the currently selected gradient
      • setGradient

        public void setGradient​(java.awt.MultipleGradientPaint mgrad)
        Sets the gradient within this panel to the new gradient. This will delete the old gradient all of it's settings, resetting the slider, gradient type selection, and other gradient configuration options to match the new gradient.
        Parameters:
        mgrad - The desired gradient.
      • recalcGradientFromStops

        private void recalcGradientFromStops()
      • updateFromStop

        private void updateFromStop​(Thumb<java.awt.Color> thumb)
      • updateFromStop

        private void updateFromStop​(int thumb,
                                    float position,
                                    java.awt.Color color)
      • updateDeleteButtons

        private void updateDeleteButtons()
      • updateGradientProperty

        private void updateGradientProperty()
      • initComponents

        private void initComponents()
      • initComponents2

        private void initComponents2()
      • selectColorForThumb

        private void selectColorForThumb()
      • showDialog

        public static java.awt.MultipleGradientPaint showDialog​(java.awt.Component comp,
                                                                java.lang.String title,
                                                                java.awt.MultipleGradientPaint mgrad)
        This static utility method cannot be called from the ETD, or your application will lock up. Call it from a separate thread or create a new Thread with a Runnable.
        Parameters:
        comp - The component to use when finding a top level window or frame for the dialog.
        title - The desired title of the gradient chooser dialog.
        mgrad - The gradient to initialize the chooser too.
        Returns:
        The gradient the user chose.
      • toString

        public static java.lang.String toString​(java.awt.MultipleGradientPaint paint)
        Creates a string representation of a MultipleGradientPaint. This string is used for debugging purposes. Its contents cannot be guaranteed between releases.
        Parameters:
        paint - the paint to create a string for
        Returns:
        a string representing the supplied paint