Package org.jdesktop.swingx
Class JXGradientChooser
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- org.jdesktop.swingx.JXPanel
-
- org.jdesktop.swingx.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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
JXGradientChooser.AddThumbAction
private class
JXGradientChooser.ChangeAlphaListener
private class
JXGradientChooser.ChangeLocationListener
private class
JXGradientChooser.DeleteThumbAction
private static class
JXGradientChooser.GradientStyle
private class
JXGradientChooser.RepaintOnEventListener
private class
JXGradientChooser.StopListener
-
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
-
-
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 stopsprivate 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 org.jdesktop.swingx.JXPanel
fakeTransparent
-
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
-
-
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 aMultipleGradientPaint
.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 org.jdesktop.swingx.JXPanel
getAlpha, getBackgroundPainter, getEffectiveAlpha, getPainterChangeListener, getPreferredScrollableViewportSize, getScrollableBlockIncrement, getScrollableHeightHint, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getScrollableWidthHint, installRepaintManager, isAlpha, isInheritAlpha, isOpaque, isOpaquePatch, isPaintBorderInsets, isPaintingBackground, isPaintingOrigin, isPatch, isTransparentBackground, paint, paintComponent, paintComponentPatch, setAlpha, setBackgroundPainter, setInheritAlpha, setOpaque, setOpaquePatch, setPaintBorderInsets, setScrollableHeightHint, setScrollableTracksViewportHeight, setScrollableTracksViewportWidth, setScrollableWidthHint, uninstallRepaintManager
-
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
-
-
-
-
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
-
changeColorButton
private JXColorSelectionButton changeColorButton
-
colorLocationSpinner
private javax.swing.JSpinner colorLocationSpinner
-
alphaSpinner
private javax.swing.JSpinner alphaSpinner
-
alphaSlider
private javax.swing.JSlider alphaSlider
-
styleCombo
private javax.swing.JComboBox styleCombo
-
gradientPreview
private GradientPreviewPanel gradientPreview
-
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.
-
-
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 aMultipleGradientPaint
. This string is used for debugging purposes. Its contents cannot be guaranteed between releases.- Parameters:
paint
- thepaint
to create a string for- Returns:
- a string representing the supplied
paint
-
-