Swing JColorChooser Class

Advertisements


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
1JColorChooser()
Creates a color chooser pane with an initial color of white.
2JColorChooser(Color initialColor)
Creates a color chooser pane with the specified initial color.
3JColorChooser(ColorSelectionModel model)
Creates a color chooser pane with the specified ColorSelectionModel.

Class methods

S.N.Method & Description
1void addChooserPanel(AbstractColorChooserPanel panel)
Adds a color chooser panel to the color chooser.
2static 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.
3AccessibleContext getAccessibleContext()
Gets the AccessibleContext associated with this JColorChooser.
4AbstractColorChooserPanel[] getChooserPanels()
Returns the specified color panels.
5Color getColor()
Gets the current color value from the color chooser.
6boolean getDragEnabled()
Gets the value of the dragEnabled property.
7JComponent getPreviewPanel()
Returns the preview panel that shows a chosen color.
8ColorSelectionModel getSelectionModel()
Returns the data model that handles color selections.
9ColorChooserUI getUI()
Returns the L&F object that renders this component.
10String getUIClassID()
Returns the name of the L&F class that renders this component.
11protected String paramString()
Returns a string representation of this JColorChooser.
12AbstractColorChooserPanel removeChooserPanel(AbstractColorChooserPanel panel)
Removes the Color Panel specified.
13void setChooserPanels(AbstractColorChooserPanel[] panels)
Specifies the Color Panels used to choose a color value.
14void setColor(Color color)
Sets the current color of the color chooser to the specified color.
15void setColor(int c)
Sets the current color of the color chooser to the specified color.
16void setColor(int r, int g, int b)
Sets the current color of the color chooser to the specified RGB color.
17void 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.
18void setPreviewPanel(JComponent preview)
Sets the current preview panel.
19void setSelectionModel(ColorSelectionModel newModel)
Sets the model containing the selected color.
20void setUI(ColorChooserUI ui)
Sets the L&F object that renders this component.
21static Color showDialog(Component component, String title, Color initialColor)
Shows a modal color-chooser dialog and blocks until the dialog is hidden.
22void 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

Swing JColorChooser

Advertisements
Advertisements