SWING - JColorChooser Class
Introduction
The class JColorChooser provides a pane of controls designed to allow a user to manipulate and select a color.
Class declaration
Following is the declaration for javax.swing.JColorChooser class −
public class JColorChooser
extends JComponent
implements Accessible
Field
Following are the fields for javax.swing.JLabel class −
protected AccessibleContext accessibleContext
static String CHOOSER_PANELS_PROPERTY − The chooserPanel array property name.
static String PREVIEW_PANEL_PROPERTY − The preview panel property name.
static String SELECTION_MODEL_PROPERTY − The selection model property name
Class constructors
| S.N. | Constructor & Description |
|---|---|
| 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. |
Class methods
| S.N. | Method & Description |
|---|---|
| 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. |
Methods inherited
This class inherits methods from the following classes:
javax.swing.JComponent
java.awt.Container
java.awt.Component
java.lang.Object
JColorChooser Example
Create the following java program using any editor of your choice in say 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);
}
}
Compile the program using command prompt. Go to D:/ > SWING and type the following command.
D:\SWING>javac com\tutorialspoint\gui\SwingControlDemo.java
If no error comes that means compilation is successful. Run the program using following command.
D:\SWING>java com.tutorialspoint.gui.SwingControlDemo
Verify the following output