SWING - JColorChooser 类

简介

JColorChooser 类提供了一个控件窗格,旨在允许用户操作和选择颜色。


类声明

以下是 javax.swing.JColorChooser 类的声明 −

public class JColorChooser
   extends JComponent
      implements Accessible

字段

以下是 javax.swing.JLabel 类的字段 −

  • protected AccessibleContext accessibleContext

  • static String CHOOSER_PANELS_PROPERTY − 选择器面板数组属性名称。

  • static String PREVIEW_PANEL_PROPERTY − 预览面板属性名称。

  • static String SELECTION_MODEL_PROPERTY − 选择模型属性名称。


类构造函数

S.No. 构造函数 & 描述
1

JColorChooser()

创建一个初始颜色为白色的颜色选择器窗格。

2

JColorChooser(Color initialColor)

使用指定的初始颜色创建颜色选择器窗格。

3

JColorChooser(ColorSelectionModel model)

使用指定的 ColorSelectionModel 创建颜色选择器窗格。


类方法

序号 方法 & 描述
1

void addChooserPanel(AbstractColorChooserPanel panel)

将颜色选择器面板添加到颜色选择器。

2

static JDialog createDialog(Component c, String title, boolean modal, JColorChooser chooserPane, ActionListener okListener, ActionListener cancelListener)

创建并返回一个新对话框,其中包含指定的 ColorChooser 窗格以及 "OK", "Cancel", 和 "Reset" 按钮。

3

AccessibleContext getAccessibleContext()

获取与此 JColorChooser 关联的 AccessibleContext。

4

AbstractColorChooserPanel[] getChooserPanels()

返回指定的颜色面板。

5

Color getColor()

从颜色选择器获取当前颜色值。

6

boolean getDragEnabled()

获取 dragEnabled 属性的值。

7

JComponent getPreviewPanel()

返回显示所选颜色的预览面板。

8

ColorSelectionModel getSelectionModel()

返回处理颜色选择的数据模型。

9

ColorChooserUI getUI()

返回呈现此组件的 L&F 对象。

10

String getUIClassID()

返回呈现此组件的 L&F 类的名称。

11

protected String paramString()

返回此 JColorChooser 的字符串表示形式。

12

AbstractColorChooserPanel removeChooserPanel(AbstractColorChooserPanel panel)

删除指定的颜色面板。

13

void setChooserPanels(AbstractColorChooserPanel[] panels)

指定用于选择颜色值的颜色面板。

14

void setColor(Color color)

将颜色选择器的当前颜色设置为指定颜色。

15

void setColor(int c)

将颜色选择器的当前颜色设置为指定颜色。

16

void setColor(int r, int g, int b)

将颜色选择器的当前颜色设置为指定的 RGB 颜色。

17

void setDragEnabled(boolean b)

设置 dragEnabled 属性,该属性必须为 true 才能在此组件上启用自动拖动处理(拖放的第一部分)。

18

void setPreviewPanel(JComponent preview)

设置当前预览面板。

19

void setSelectionModel(ColorSelectionModel newModel)

设置包含所选颜色的模型。

20

void setUI(ColorChooserUI ui)

设置呈现此组件的 L&F 对象。

21

static Color showDialog(Component component, String title, Color initialColor)

显示模态颜色选择器对话框并阻塞,直到对话框被隐藏。

22

void updateUI()

来自 UIManager 的通知 L&F 已更改。


继承的方法

这个类继承了以下类的方法 −

  • javax.swing.JComponent
  • java.awt.Container
  • java.awt.Component
  • java.lang.Object

JColorChooser 示例

D:/ > SWING > com > tutorialspoint > gui > 中使用您选择的任何编辑器创建以下 Java 程序

SwingControlDemo.java

package com.tutorialspoint.gui;
 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class SwingControlDemo {
   private JFrame mainFrame;
   private JLabel headerLabel;
   private JLabel statusLabel;
   private JPanel controlPanel;

   public SwingControlDemo(){
      prepareGUI();
   }
   public static void main(String[] args){
      SwingControlDemo  swingControlDemo = new SwingControlDemo();      
      swingControlDemo.showColorChooserDemo();
   }
   private void prepareGUI(){
      mainFrame = new JFrame("Java Swing Examples");
      mainFrame.setSize(400,400);
      mainFrame.setLayout(new GridLayout(3, 1));
      
      mainFrame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }        
      });    
      headerLabel = new JLabel("", JLabel.CENTER);        
      statusLabel = new JLabel("",JLabel.CENTER);    
      statusLabel.setSize(350,100);

      controlPanel = new JPanel();
      controlPanel.setLayout(new FlowLayout());

      mainFrame.add(headerLabel);
      mainFrame.add(controlPanel);
      mainFrame.add(statusLabel);
      mainFrame.setVisible(true);  
   }
   private void showColorChooserDemo(){
      headerLabel.setText("Control in action: JColorChooser"); 
      JButton chooseButton = new JButton("Choose Background");        
      
      chooseButton.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
            Color backgroundColor = JColorChooser.showDialog(mainFrame,
               "Choose background color", Color.white);
            if(backgroundColor != null){
               controlPanel.setBackground(backgroundColor);
               mainFrame.getContentPane().setBackground(backgroundColor);
            }
         }
      });
      controlPanel.add(chooseButton);
      mainFrame.setVisible(true);  
   }
}

使用命令提示符编译程序。 转到 D:/ > SWING 并键入以下命令。

D:\SWING>javac com\tutorialspoint\gui\SwingControlDemo.java

如果没有报错,说明编译成功。 使用以下命令运行程序。

D:\SWING>java com.tutorialspoint.gui.SwingControlDemo

验证以下输出。

Swing JColorChooser

❮ SWING 控件