JColorChooser

优质
小牛编辑
125浏览
2023-12-01

介绍 (Introduction)

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

Class 声明 (Class Declaration)

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

public class JColorChooser
   extends JComponent
      implements Accessible

字段 (Field)

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

  • protected AccessibleContext accessibleContext

  • static String CHOOSER_PANELS_PROPERTY - chooserPanel数组属性名称。

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

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

类构造函数 (Class Constructors)

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

JColorChooser()

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

2

JColorChooser(Color initialColor)

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

3

JColorChooser(ColorSelectionModel model)

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

Class Methods

Sr.No.方法和描述
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)

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

20

void setUI(ColorChooserUI ui)

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

21

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

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

22

void updateUI()

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

方法继承 (Methods Inherited)

该类继承以下类中的方法 -

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

JColorChooser示例

使用您选择的任何编辑器创建以下Java程序,例如D:/ 》 SWING 》 com 》 xnip 》 gui 》

SwingControlDemo.java

package cn.xnip.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\xnip\gui\SwingControlDemo.java

如果没有错误发生,则表示编译成功。 使用以下命令运行该程序。

D:\SWING>java cn.xnip.gui.SwingControlDemo

验证以下输出。

Swing JColorChooser