位置:首页 > Java技术 > Swing > Swing JColorChooser

Swing JColorChooser

JColorChooser 类颜色选择器提供了一个窗格设计,让用户操作和选择颜色的控制。

类声明

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

public class JColorChooser
   extends JComponent
      implements Accessible

字段域

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

  • protected AccessibleContext accessibleContext

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

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

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

类构造函数

S.N. 构造函数 & 描述
1 JColorChooser()
Creates a color chooser pane with an initial color of white.
2 JColorChooser(Color initialColor)
Creates a color chooser pane with the specified initial color.
3 JColorChooser(ColorSelectionModel model)
Creates a color chooser pane with the specified ColorSelectionModel.

类方法

S.N. 方法 & 描述
1 void addChooserPanel(AbstractColorChooserPanel panel)
Adds a color chooser panel to the color chooser.
2 static JDialog createDialog(Component c, String title, boolean modal, JColorChooser chooserPane, ActionListener okListener, ActionListener cancelListener)
Creates and returns a new dialog containing the specified ColorChooser pane along with "OK", "Cancel", and "Reset" buttons.
3 AccessibleContext getAccessibleContext()
Gets the AccessibleContext associated with this JColorChooser.
4 AbstractColorChooserPanel[] getChooserPanels()
Returns the specified color panels.
5 Color getColor()
Gets the current color value from the color chooser.
6 boolean getDragEnabled()
Gets the value of the dragEnabled property.
7 JComponent getPreviewPanel()
Returns the preview panel that shows a chosen color.
8 ColorSelectionModel getSelectionModel()
Returns the data model that handles color selections.
9 ColorChooserUI getUI() 
Returns the L&F object that renders this component.
10 String getUIClassID() 
Returns the name of the L&F class that renders this component.
11 protected String paramString() 
Returns a string representation of this JColorChooser.
12 AbstractColorChooserPanel removeChooserPanel(AbstractColorChooserPanel panel) 
Removes the Color Panel specified.
13 void setChooserPanels(AbstractColorChooserPanel[] panels)
Specifies the Color Panels used to choose a color value.
14 void setColor(Color color) 
Sets the current color of the color chooser to the specified color.
15 void setColor(int c) 
Sets the current color of the color chooser to the specified color.
16 void setColor(int r, int g, int b) 
Sets the current color of the color chooser to the specified RGB color.
17 void setDragEnabled(boolean b) 
Sets the dragEnabled property, which must be true to enable automatic drag handling (the first part of drag and drop) on this component.
18 void setPreviewPanel(JComponent preview) 
Sets the current preview panel.
19 void setSelectionModel(ColorSelectionModel newModel)
Sets the model containing the selected color.
20 void setUI(ColorChooserUI ui) 
Sets the L&F object that renders this component.
21 static Color showDialog(Component component, String title, Color initialColor) 
Shows a modal color-chooser dialog and blocks until the dialog is hidden.
22 void updateUI() 
Notification from the UIManager that the L&F has changed.

方法继承

这个类从以下类继承的方法:

  • javax.swing.JComponent

  • java.awt.Container

  • java.awt.Component

  • java.lang.Object

JColorChooser 例子

选择使用任何编辑器创建以下java程序在 D:/ > SWING > com > yiibai > gui >

SwingControlDemo.java
package com.yiibai.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 comyiibaiguiSwingControlDemo.java

如果没有错误出现,这意味着编译成功。使用下面的命令来运行程序。

D:SWING>java com.yiibai.gui.SwingControlDemo

验证下面的输出

Swing JColorChooser