模块 java.desktop

类 JColorChooser

所有已实现的接口:
ImageObserver , MenuContainer , Serializable , Accessible

@JavaBean (defaultProperty ="UI", description ="A component that supports selecting a Color.") public class JColorChooser extends JComponent implements Accessible
JColorChooser 提供了一个控件面板,旨在允许用户操纵和选择颜色。有关使用颜色选择器的信息,请参阅 如何使用颜色选择器The Java Tutorial 中的一个部分。

该类提供了三个级别的 API:

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

Warning: Swing 不是线程安全的。有关详细信息,请参阅 Swing 的线程策略

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

自从:
1.2
  • 字段详细信息

    • 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 - 包含对话框标题的字符串
      initialColor - 显示颜色选择器时设置的初始颜色
      返回:
      所选颜色或 null(如果用户选择退出)
      抛出:
      HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true。
      参见:
    • showDialog

      public static Color  showDialog(Component  component, String  title, Color  initialColor, boolean colorTransparencySelectionEnabled) throws HeadlessException
      显示模态颜色选择器对话框并阻塞,直到对话框被隐藏。如果用户按下“确定”按钮,则此方法隐藏/处理对话框并返回所选颜色。如果用户按下“取消”按钮或关闭对话框而不按下“确定”,则此方法隐藏/处理对话框并返回 null
      参数:
      component - 对话框的父级 Component
      title - 包含对话框标题的字符串
      initialColor - 显示颜色选择器时设置的初始颜色
      colorTransparencySelectionEnabled - 如果可以选择颜色的透明度则为真
      返回:
      所选颜色或 null(如果用户选择退出)
      抛出:
      HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true。
      参见:
    • createDialog

      public static JDialog  createDialog(Component  c, String  title, boolean modal, JColorChooser  chooserPane, ActionListener  okListener, ActionListener  cancelListener) throws HeadlessException
      创建并返回一个新对话框,其中包含指定的 ColorChooser 窗格以及“确定”、“取消”和“重置”按钮。如果按下“确定”或“取消”按钮,对话框会自动隐藏(但不会被释放)。如果按下“重置”按钮,颜色选择器的颜色将重置为上次在对话框上调用 show 时设置的颜色,并且对话框将继续显示。
      参数:
      c - 对话框的父组件
      title - 对话框的标题
      modal - boolean。当为真时,程序的其余部分在对话框关闭之前处于非活动状态。
      chooserPane - 要放置在对话框内的颜色选择器
      okListener - 按下“确定”时调用的 ActionListener
      cancelListener - 按下“取消”时调用的 ActionListener
      返回:
      包含颜色选择器窗格的新对话框
      抛出:
      HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true。
      参见:
    • 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 对象
      参见:
    • updateUI

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

      @BeanProperty (bound =false) public String  getUIClassID()
      返回呈现此组件的 L&F 类的名称。
      重写:
      getUIClassID 在类 JComponent
      返回:
      字符串“ColorChooserUI”
      参见:
    • 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 - 要在颜色选择器中设置的颜色
      参见:
    • setColor

      public void setColor(int r, int g, int b)
      将颜色选择器的当前颜色设置为指定的 RGB 颜色。请注意,红色、绿色和蓝色的值应介于 0 和 255 之间,包括 0 和 255。
      参数:
      r - 指定红色数量的整数
      g - 指定绿色数量的整数
      b - 指定蓝色数量的整数
      抛出:
      IllegalArgumentException - 如果 r、g、b 值超出范围
      参见:
    • 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

      启用自动拖动处理后,大多数外观会在用户在预览面板上按下鼠标按钮时开始拖放操作。有些外观可能不支持自动拖放;他们将忽略此属性。您可以通过修改组件以直接调用 TransferHandlerexportAsDrag 方法来解决此类外观问题。

      参数:
      b - 将 dragEnabled 属性设置为的值
      抛出:
      HeadlessException - 如果 btrue 并且 GraphicsEnvironment.isHeadless() 返回 true
      自从:
      1.4
      参见:
    • getDragEnabled

      public boolean getDragEnabled()
      获取 dragEnabled 属性的值。
      返回:
      dragEnabled 属性的值
      自从:
      1.4
      参见:
    • setPreviewPanel

      @BeanProperty (hidden =true, description ="The UI component which displays the current color.") public void setPreviewPanel(JComponent  preview)
      设置当前预览面板。这将为名为“previewPanel”的属性触发 PropertyChangeEvent
      参数:
      preview - 显示当前颜色的 JComponent
      参见:
    • 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 的字符串表示形式。此方法仅用于调试目的,返回字符串的内容和格式可能因实现而异。返回的字符串可能为空,但可能不是 null
      重写:
      paramString 在类 JComponent
      返回:
      这个 JColorChooser 的字符串表示
    • getAccessibleContext

      @BeanProperty (bound =false) public AccessibleContext  getAccessibleContext()
      获取与此 JColorChooser 关联的 AccessibleContext。对于颜色选择器,AccessibleContext 采用 AccessibleJColorChooser 的形式。如有必要,将创建一个新的 AccessibleJColorChooser 实例。
      指定者:
      getAccessibleContext 在接口 Accessible
      重写:
      getAccessibleContext 在类 Component
      返回:
      作为此 JColorChooser 的 AccessibleContext 的 AccessibleJColorChooser