JColorChooser
类提供了一个控件窗格,旨在允许用户操作和选择颜色。
类声明
以下是javax.swing.JColorChooser
类的声明 -
public class JColorChooser
extends JComponent
implements Accessible
字段
以下是javax.swing.JColorChooser
类的字段 -
protected AccessibleContext accessibleContext
static String CHOOSER_PANELS_PROPERTY
-chooserPanel
数组属性名称。static String PREVIEW_PANEL_PROPERTY
- 预览面板属性名称。static String SELECTION_MODEL_PROPERTY
- 选择模型属性名称。
构造函数
编号 | 构造函数 | 描述 |
---|---|---|
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 窗格的新对话框以及“确定”,“取消”和“重置”按钮。 |
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) |
设置包含所选颜色的模型。 |
19 | void setUI(ColorChooserUI ui) |
设置呈现此组件的L&F对象。 |
20 | static Color showDialog(Component component, String title, Color initialColor) |
显示模态颜色选择器对话框并阻塞,直到隐藏对话框。 |
21 | void updateUI() |
来自UIManager 的通知L&F已经改变。 |
方法继承
该类继承以下类中的方法 -
javax.swing.JComponent
java.awt.Container
java.awt.Component
java.lang.Object
JColorChooser示例
使用编辑器创建以下Java程序:SwingControlDemo.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JColorChooserExample {
private JFrame mainFrame;
private JLabel headerLabel;
private JLabel statusLabel;
private JPanel controlPanel;
public JColorChooserExample(){
prepareGUI();
}
public static void main(String[] args){
JColorChooserExample swingControlDemo = new JColorChooserExample();
swingControlDemo.showColorChooserDemo();
}
private void prepareGUI(){
mainFrame = new JFrame("Java Swing JColorChooser示例");
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("选择背景颜色");
chooseButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Color backgroundColor = JColorChooser.showDialog(mainFrame,
"选择背景颜色", Color.white);
if(backgroundColor != null){
controlPanel.setBackground(backgroundColor);
mainFrame.getContentPane().setBackground(backgroundColor);
}
}
});
controlPanel.add(chooseButton);
mainFrame.setVisible(true);
}
}
执行上面示例代码,得到以下结果: