Module  java.desktop
软件包  javax.swing

Class JColorChooser

  • All Implemented Interfaces:
    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窗格实例的JColorChooser 可以添加PropertyChange监听器,以检测当前“颜色”属性何时更改。

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

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

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

      • 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对象。
        重写:
        getUIJComponent
        结果
        提供此组件的 ColorChooserUI对象
      • updateUI

        public void updateUI​()
        来自UIManager的L&F发生变化的通知。 UIManager替换最新版本的当前UI对象。
        重写:
        updateUIJComponent
        另请参见:
        JComponent.updateUI()
      • getColor

        public Color getColor​()
        从颜色选择器获取当前颜色值。 默认情况下,它代表模型。
        结果
        颜色选择器的当前颜色值
      • 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 - 如果 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
      • 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
        重写:
        paramStringJComponent
        结果
        这个 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