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 - 选择模型属性名称。

类构造函数

序号 构造函数 & 描述
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)

创建并返回一个新的对话框,其中包含指定的颜色选择器面板以及“确定”、“取消”和“重置”按钮。

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 示例

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

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_controls.htm
广告

© . All rights reserved.