模块  java.desktop
软件包  javax.swing

Class JColorChooser

  • 实现的所有接口
    ImageObserverMenuContainerSerializableAccessible

    @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:

    1. 一种静态便捷方法,显示模态颜色选择器对话框并返回用户选择的颜色。
    2. 用于创建颜色选择器对话框的静态便捷方法,其中可以指定在用户按下其中一个对话框按钮时调用ActionListeners
    3. 能够直接(在任何容器内)创建JColorChooser窗格的实例。 可以添加PropertyChange侦听器以检测当前“颜色”属性何时更改。

    警告: Swing不是线程安全的。 有关更多信息,请参阅Swing's Threading Policy

    警告:此类的序列化对象与以后的Swing版本不兼容。 当前的序列化支持适用于运行相同版本Swing的应用程序之间的短期存储或RMI。 从1.4开始, java.beans软件包中添加了对所有JavaBeans java.beans长期存储的支持。 请参阅XMLEncoder

    从以下版本开始:
    1.2
    另请参见:
    Serialized Form
    • 字段详细信息

      • SELECTION_MODEL_PROPERTY

        public static final String SELECTION_MODEL_PROPERTY
        选择模型属性名称。
        另请参见:
        常数字段值
      • PREVIEW_PANEL_PROPERTY

        public static final String PREVIEW_PANEL_PROPERTY
        预览面板属性名称。
        另请参见:
        常数字段值
      • 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对象。
        重写:
        getUIJComponent
        结果
        呈现此组件的 ColorChooserUI对象
      • updateUI

        public void updateUI()
        来自UIManager的L&F已更改的通知。 使用UIManager的最新版本替换当前UI对象。
        重写:
        updateUI ,类 JComponent
        另请参见:
        JComponent.updateUI()
      • getColor

        public Color getColor()
        从颜色选择器获取当前颜色值。 默认情况下,这会委托给模型。
        结果
        颜色选择器的当前颜色值
      • 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 - 如果 btrueGraphicsEnvironment.isHeadless()返回 true
        从以下版本开始:
        1.4
        另请参见:
        GraphicsEnvironment.isHeadless()getDragEnabled()JComponent.setTransferHandler(javax.swing.TransferHandler)TransferHandler
      • getDragEnabled

        public boolean getDragEnabled()
        获取 dragEnabled属性的值。
        结果
        dragEnabled属性的值
        从以下版本开始:
        1.4
        另请参见:
        setDragEnabled(boolean)
      • getPreviewPanel

        public JComponent getPreviewPanel()
        返回显示所选颜色的预览面板。
        结果
        JComponent对象 - 预览面板
      • addChooserPanel

        public void addChooserPanel​(AbstractColorChooserPanel panel)
        在颜色选择器中添加颜色选择器面板。
        参数
        panel - 要添加的 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
        重写:
        getAccessibleContextComponent
        结果
        an AccessibleJColorChooser that serves as the AccessibleContext of this JColorChooser