- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JColorChooser
-
- All Implemented Interfaces:
-
ImageObserver
,MenuContainer
,Serializable
,Accessible
@JavaBean(defaultProperty="UI", description="A component that supports selecting a Color.") public class JColorChooser extends JComponent implements Accessible
JColorChooser
提供了一个设计用于允许用户操纵和选择颜色的控件窗格。 有关使用颜色选择器的信息,请参阅“Java教程”中的“ How to Use Color Choosers ”一节。这个类提供了三个级别的API:
- 一种静态方便方法,显示模态颜色选择对话框并返回用户选择的颜色。
- 用于创建颜色选择器对话框的静态方便方法,其中当用户按下其中一个对话框按钮时,可以指定要调用的颜色选择器
ActionListeners
。 - 直接(在任何容器内)创建
JColorChooser
窗格实例的JColorChooser
。 可以添加PropertyChange
监听器,以检测当前“颜色”属性何时更改。
警告: Swing不是线程安全的。 有关更多信息,请参阅Swing's Threading Policy 。
警告:此类的序列化对象与将来的Swing版本不兼容。 当前的序列化支持适用于运行相同版本的Swing的应用程序之间的短期存储或RMI。 从1.4开始,支持所有JavaBeans的长期存储已被添加到
java.beans
包中。 请参阅XMLEncoder
。- 从以下版本开始:
- 1.2
- 另请参见:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 protected class
JColorChooser.AccessibleJColorChooser
该类为JColorChooser
类实现可访问性支持。-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field 描述 protected AccessibleContext
accessibleContext
可访问的上下文。static String
CHOOSER_PANELS_PROPERTY
chooserPanel数组属性名称。static String
PREVIEW_PANEL_PROPERTY
预览面板属性名称。static String
SELECTION_MODEL_PROPERTY
选择模型属性名称。-
Fields inherited from class java.awt.Component
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
-
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 描述 JColorChooser()
创建一个初始颜色为白色的颜色选择器窗格。JColorChooser(Color initialColor)
创建具有指定初始颜色的颜色选择器窗格。JColorChooser(ColorSelectionModel model)
创建具有指定的颜色选择器窗格ColorSelectionModel
。
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 Modifier and Type 方法 描述 void
addChooserPanel(AbstractColorChooserPanel panel)
在颜色选择器中添加一个颜色选择器面板。static JDialog
createDialog(Component c, String title, boolean modal, JColorChooser chooserPane, ActionListener okListener, ActionListener cancelListener)
创建并返回一个包含指定的ColorChooser
窗格的新对话框以及“确定”,“取消”和“重置”按钮。AccessibleContext
getAccessibleContext()
获取与此JColorChooser关联的AccessibleContext。AbstractColorChooserPanel[]
getChooserPanels()
返回指定的颜色面板。Color
getColor()
从颜色选择器获取当前颜色值。boolean
getDragEnabled()
获取dragEnabled
属性的值。JComponent
getPreviewPanel()
返回显示所选颜色的预览面板。ColorSelectionModel
getSelectionModel()
返回处理颜色选择的数据模型。ColorChooserUI
getUI()
返回渲染此组件的L&F对象。String
getUIClassID()
返回呈现此组件的L&F类的名称。protected String
paramString()
返回此JColorChooser
的字符串表示JColorChooser
。AbstractColorChooserPanel
removeChooserPanel(AbstractColorChooserPanel panel)
删除指定的颜色面板。void
setChooserPanels(AbstractColorChooserPanel[] panels)
指定用于选择颜色值的颜色面板。void
setColor(int c)
将颜色选择器的当前颜色设置为指定的颜色。void
setColor(int r, int g, int b)
将颜色选择器的当前颜色设置为指定的RGB颜色。void
setColor(Color color)
将颜色选择器的当前颜色设置为指定的颜色。void
setDragEnabled(boolean b)
设置dragEnabled
属性,该属性必须为true
以启用此组件上的自动拖放处理(第一部分拖放)。void
setPreviewPanel(JComponent preview)
设置当前预览面板。void
setSelectionModel(ColorSelectionModel newModel)
设置包含所选颜色的模型。void
setUI(ColorChooserUI ui)
设置渲染此组件的L&F对象。static Color
showDialog(Component component, String title, Color initialColor)
显示模态颜色选择器对话框并阻塞,直到对话框被隐藏。static Color
showDialog(Component component, String title, Color initialColor, boolean colorTransparencySelectionEnabled)
显示模态颜色选择器对话框并阻塞,直到对话框被隐藏。void
updateUI()
来自UIManager
通知表明L&F已经改变了。-
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.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 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, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, 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, update
-
-
-
-
字段详细信息
-
SELECTION_MODEL_PROPERTY
public static final String SELECTION_MODEL_PROPERTY
选择模型属性名称。- 另请参见:
- Constant Field Values
-
PREVIEW_PANEL_PROPERTY
public static final String PREVIEW_PANEL_PROPERTY
预览面板属性名称。- 另请参见:
- Constant Field Values
-
CHOOSER_PANELS_PROPERTY
public static final String CHOOSER_PANELS_PROPERTY
chooserPanel数组属性名称。- 另请参见:
- Constant Field Values
-
accessibleContext
protected AccessibleContext accessibleContext
可访问的上下文。
-
-
构造方法详细信息
-
JColorChooser
public JColorChooser()
创建一个初始颜色为白色的颜色选择器窗格。
-
JColorChooser
public JColorChooser(Color initialColor)
创建具有指定初始颜色的颜色选择器窗格。- 参数
-
initialColor
- 在选择器中设置的初始颜色
-
JColorChooser
public JColorChooser(ColorSelectionModel model)
创建具有指定的颜色选择器窗格ColorSelectionModel
。- 参数
-
model
- 要使用的ColorSelectionModel
-
-
方法详细信息
-
showDialog
public static Color showDialog(Component component, String title, Color initialColor) throws HeadlessException
显示模态颜色选择器对话框并阻塞,直到对话框被隐藏。 如果用户按“确定”按钮,则此方法将隐藏/处理对话框并返回所选颜色。 如果用户按“取消”按钮或关闭对话框,而不按“确定”,则此方法隐藏/处理对话框并返回null
。- 参数
-
component
- 对话框的父母Component
-
title
- 包含对话框标题的字符串 -
initialColor
- 显示颜色选择器时的初始颜色设置 - 结果
-
所选颜色或
null
如果用户选择退出 - 异常
-
HeadlessException
- 如果GraphicsEnvironment.isHeadless()返回true。 - 另请参见:
-
GraphicsEnvironment.isHeadless()
-
showDialog
public static Color showDialog(Component component, String title, Color initialColor, boolean colorTransparencySelectionEnabled) throws HeadlessException
显示模态颜色选择器对话框并阻塞,直到对话框被隐藏。 如果用户按“确定”按钮,则此方法将隐藏/处理对话框并返回所选颜色。 如果用户按“取消”按钮或关闭对话框,而不按“确定”,则此方法隐藏/处理对话框并返回null
。- 参数
-
component
- 对话框的父级Component
-
title
- 包含对话框标题的字符串 -
initialColor
- 显示颜色选择器时的初始颜色设置 -
colorTransparencySelectionEnabled
- 如果可以选择颜色的透明度,colorTransparencySelectionEnabled
true - 结果
-
所选颜色或
null
如果用户选择退出 - 异常
-
HeadlessException
- 如果GraphicsEnvironment.isHeadless()返回true。 - 另请参见:
-
GraphicsEnvironment.isHeadless()
-
createDialog
public static JDialog createDialog(Component c, String title, boolean modal, JColorChooser chooserPane, ActionListener okListener, ActionListener cancelListener) throws HeadlessException
创建并返回一个包含指定的ColorChooser
窗格的新对话框以及“确定”,“取消”和“重置”按钮。 如果按下“确定”或“取消”按钮,对话框将自动隐藏(但不处理)。 如果按下“复位”按钮,颜色选择器的颜色将被重置为在对话框上调用最后一次show
设置的颜色,对话框将保持显示。- 参数
-
c
- 对话框的父组件 -
title
- 对话框的标题 -
modal
- 一个布尔值。 当为真时,程序的其余部分不活动,直到对话框关闭。 -
chooserPane
- 要放置在对话框内的颜色选择器 -
okListener
- 按“OK”时调用ActionListener -
cancelListener
- 按“取消”时调用ActionListener - 结果
- 包含颜色选择器窗格的新对话框
- 异常
-
HeadlessException
- 如果GraphicsEnvironment.isHeadless()返回true。 - 另请参见:
-
GraphicsEnvironment.isHeadless()
-
getUI
public ColorChooserUI getUI()
返回渲染此组件的L&F对象。- 重写:
-
getUI
在JComponent
- 结果
-
提供此组件的
ColorChooserUI
对象
-
setUI
@BeanProperty(hidden=true, description="The UI object that implements the color chooser\'s LookAndFeel.") public void setUI(ColorChooserUI ui)
设置渲染此组件的L&F对象。- 参数
-
ui
-ColorChooserUI
L&F对象 - 另请参见:
-
UIDefaults.getUI(javax.swing.JComponent)
-
updateUI
public void updateUI()
来自UIManager
的L&F发生变化的通知。 用UIManager
替换最新版本的当前UI对象。- 重写:
-
updateUI
在JComponent
- 另请参见:
-
JComponent.updateUI()
-
getUIClassID
@BeanProperty(bound=false) public String getUIClassID()
返回呈现此组件的L&F类的名称。- 重写:
-
getUIClassID
在JComponent
- 结果
- 字符串“ColorChooserUI”
- 另请参见:
-
JComponent.getUIClassID()
,UIDefaults.getUI(javax.swing.JComponent)
-
getColor
public Color getColor()
从颜色选择器获取当前颜色值。 默认情况下,它代表模型。- 结果
- 颜色选择器的当前颜色值
-
setColor
@BeanProperty(bound=false, description="The current color the chooser is to display.") public void setColor(Color color)
将颜色选择器的当前颜色设置为指定的颜色。ColorSelectionModel
将会启动一个ChangeEvent
- 参数
-
color
- 要在颜色选择器中设置的颜色 - 另请参见:
-
Container.addPropertyChangeListener(java.beans.PropertyChangeListener)
-
setColor
public void setColor(int r, int g, int b)
将颜色选择器的当前颜色设置为指定的RGB颜色。 请注意,红色,绿色和蓝色的值应在数字0和255之间,包括0和255之间。- 参数
-
r
- 一个int指定红色的数量 -
g
- 一个指定绿色量的int -
b
- 一个指定蓝色数量的int - 异常
-
IllegalArgumentException
- 如果r,g,b值超出范围 - 另请参见:
-
Color
-
setColor
public void setColor(int c)
将颜色选择器的当前颜色设置为指定的颜色。- 参数
-
c
- 一个整数值,用于设置低位8位指定蓝色值的选择器中的当前颜色,接下来的8位指定绿色值,高8位指定红色值。
-
setDragEnabled
@BeanProperty(bound=false, description="Determines whether automatic drag handling is enabled.") public void setDragEnabled(boolean b)
设置dragEnabled
属性,该属性必须为true
以启用此组件上的自动拖放处理(第一部分拖放)。transferHandler
属性需要设置为非null
值来拖动才能执行任何操作。dragEnabled
属性的默认值为false
。当启用自动拖动处理时,当用户在预览面板上按下鼠标按钮时,大多数外观和感觉开始拖放操作。 有些外观和感觉可能不支持自动拖放; 他们将忽略此属性。 您可以解决这样的外观和修改组件以直接调用感觉
exportAsDrag
一个方法TransferHandler
。- 参数
-
b
- 设置dragEnabled
属性的值 - 异常
-
HeadlessException
- 如果b
是true
和GraphicsEnvironment.isHeadless()
返回true
- 从以下版本开始:
- 1.4
- 另请参见:
-
GraphicsEnvironment.isHeadless()
,getDragEnabled()
,JComponent.setTransferHandler(javax.swing.TransferHandler)
,TransferHandler
-
getDragEnabled
public boolean getDragEnabled()
获取dragEnabled
属性的值。- 结果
-
的价值
dragEnabled
属性 - 从以下版本开始:
- 1.4
- 另请参见:
-
setDragEnabled(boolean)
-
setPreviewPanel
@BeanProperty(hidden=true, description="The UI component which displays the current color.") public void setPreviewPanel(JComponent preview)
设置当前预览面板。 这将触发一个PropertyChangeEvent
名为“previewPanel”的属性。- 参数
-
preview
- 显示当前颜色的JComponent
- 另请参见:
-
Container.addPropertyChangeListener(java.beans.PropertyChangeListener)
-
getPreviewPanel
public JComponent getPreviewPanel()
返回显示所选颜色的预览面板。- 结果
-
一个
JComponent
对象 - 预览面板
-
addChooserPanel
public void addChooserPanel(AbstractColorChooserPanel panel)
在颜色选择器中添加一个颜色选择器面板。- 参数
-
panel
- 要添加的AbstractColorChooserPanel
-
removeChooserPanel
public AbstractColorChooserPanel removeChooserPanel(AbstractColorChooserPanel panel)
删除指定的颜色面板。- 参数
-
panel
- 指定要删除的面板的字符串 - 结果
- 彩色面板
- 异常
-
IllegalArgumentException
- 如果面板不在已知选择器面板的列表中
-
setChooserPanels
@BeanProperty(hidden=true, description="An array of different chooser types.") public void setChooserPanels(AbstractColorChooserPanel[] panels)
指定用于选择颜色值的颜色面板。- 参数
-
panels
- 一个AbstractColorChooserPanel
对象的数组
-
getChooserPanels
public AbstractColorChooserPanel[] getChooserPanels()
返回指定的颜色面板。- 结果
-
一组
AbstractColorChooserPanel
对象
-
getSelectionModel
public ColorSelectionModel getSelectionModel()
返回处理颜色选择的数据模型。- 结果
-
一个
ColorSelectionModel
对象
-
setSelectionModel
@BeanProperty(hidden=true, description="The model which contains the currently selected color.") public void setSelectionModel(ColorSelectionModel newModel)
设置包含所选颜色的模型。- 参数
-
newModel
- 新的ColorSelectionModel
对象
-
paramString
protected String paramString()
返回此JColorChooser
的字符串表示JColorChooser
。 该方法仅用于调试目的,并且返回的字符串的内容和格式可能因实现而异。 返回的字符串可能为空,但可能不是null
。- 重写:
-
paramString
在JComponent
- 结果
-
这个
JColorChooser
的字符串表示JColorChooser
-
getAccessibleContext
@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
获取与此JColorChooser关联的AccessibleContext。 对于颜色选择器,AccessibleContext采用AccessibleJColorChooser的形式。 如有必要,将创建一个新的AccessibleJColorChooser实例。- Specified by:
-
getAccessibleContext
在接口Accessible
- 重写:
-
getAccessibleContext
在Component
- 结果
- an AccessibleJColorChooser that serves as the AccessibleContext of this JColorChooser
-
-