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
验证以下输出。

