Customizing the Preview Panel of a JColorChooser Dialog : JColorChooser « Swing « Java Tutorial

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;

import javax.swing.JColorChooser;
import javax.swing.JComponent;
import javax.swing.colorchooser.ColorSelectionModel;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

public class Main {
  public static void main(String[] argv) {
    JColorChooser chooser = new JColorChooser();
    final MyPreviewPanel pre = new MyPreviewPanel(chooser);
    ColorSelectionModel model = chooser.getSelectionModel();
    model.addChangeListener(new ChangeListener() {
      public void stateChanged(ChangeEvent evt) {
        ColorSelectionModel model = (ColorSelectionModel) evt.getSource();
        pre.curColor = model.getSelectedColor();
class MyPreviewPanel extends JComponent {
  Color curColor;
  public MyPreviewPanel(JColorChooser chooser) {
    curColor = chooser.getColor();
    setPreferredSize(new Dimension(50, 50));
  public void paint(Graphics g) {
    g.fillRect(0, 0, getWidth() - 1, getHeight() - 1);

14.76.1.Display Color chooser dialogDisplay Color chooser dialog
14.76.2.Use a Color Chooser
14.76.3.Creating a JColorChooser Dialog
14.76.4.Getting and Setting the Selected Color in a JColorChooser Dialog
14.76.5.Preview pane simply displays the currently selected color.
14.76.6.Listening to Color Selection ChangesListening to Color Selection Changes
14.76.7.Creating and Showing a JColorChooser Pop-Up WindowCreating and Showing a JColorChooser Pop-Up Window
14.76.8.Customizing Action Listeners on JColorChooser ButtonsCustomizing Action Listeners on JColorChooser Buttons
14.76.9.Linking JColorChooser with component's colorLinking JColorChooser with component's color
14.76.10.Dragging-and-Dropping Colors Across JColorChooser ComponentsDragging-and-Dropping Colors Across JColorChooser Components
14.76.11.JColorChooser with custom preview panel
14.76.12.Changing the Color Chooser PanelsChanging the Color Chooser Panels
14.76.13.Setting the Order of the Color Chooser Panel Tabs in a JColorChooser Dialog
14.76.14.Retrieving the Color Chooser Panels in a JColorChooser Dialog
14.76.15.Removing a Color Chooser Panel from a JColorChooser Dialog
14.76.16.Removing the Preview Panel from a JColorChooser Dialog
14.76.17.Customizing the Preview Panel of a JColorChooser Dialog
14.76.18.Listening for OK and Cancel Events in a JColorChooser Dialog
14.76.19.Adding a Custom Color Chooser Panel to a JColorChooser Dialog
14.76.20.Customizing a JColorChooser Look and Feel
14.76.21.Choose foreground or background color