- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JColorChooser
-
- 实现的所有接口
-
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
窗格的实例。 可以添加PropertyChange
侦听器以检测当前“颜色”属性何时更改。
警告: Swing不是线程安全的。 有关更多信息,请参阅Swing's Threading Policy 。
警告:此类的序列化对象与以后的Swing版本不兼容。 当前的序列化支持适用于运行相同版本Swing的应用程序之间的短期存储或RMI。 从1.4开始,
java.beans
软件包中添加了对所有JavaBeansjava.beans
长期存储的支持。 请参阅XMLEncoder
。- 从以下版本开始:
- 1.2
- 另请参见:
- Serialized Form
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 protected class
JColorChooser.AccessibleJColorChooser
此类实现JColorChooser
类的可访问性支持。-
嵌套类/接口声明在类 javax.swing.JComponent
JComponent.AccessibleJComponent
-
嵌套类/接口声明在类 java.awt.Container
Container.AccessibleAWTContainer
-
-
字段汇总
字段 变量和类型 字段 描述 protected AccessibleContext
accessibleContext
可访问的上下文。static String
CHOOSER_PANELS_PROPERTY
chooserPanel数组属性名称。static String
PREVIEW_PANEL_PROPERTY
预览面板属性名称。static String
SELECTION_MODEL_PROPERTY
选择模型属性名称。-
声明的属性在类 javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
声明的属性在类 java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Fields declared in interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
-
构造方法摘要
构造方法 构造器 描述 JColorChooser()
创建一个颜色选择器窗格,其初始颜色为白色。JColorChooser(Color initialColor)
使用指定的初始颜色创建颜色选择器窗格。JColorChooser(ColorSelectionModel model)
使用指定的ColorSelectionModel
创建颜色选择器窗格。
-
方法摘要
所有方法 静态方法 实例方法 具体的方法 变量和类型 方法 描述 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已更改的通知。-
声明方法的类 javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, 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, 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
-
声明方法的类 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
-
声明方法的类 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, 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, hide, 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
-
-
-
-
字段详细信息
-
CHOOSER_PANELS_PROPERTY
public static final String CHOOSER_PANELS_PROPERTY
chooserPanel数组属性名称。- 另请参见:
- 常数字段值
-
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
- 包含对话框标题的String -
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
- 包含对话框标题的String -
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
- 布尔值。 如果为true,则程序的其余部分处于非活动状态,直到对话框关闭。 -
chooserPane
- 要放置在对话框内的颜色选择器 -
okListener
- 按下“确定”时调用的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
- 指定Red数量的int -
g
- 指定绿色量的int -
b
- 指定Blue数量的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
-
-