com.jgoodies.binding.adapter
Class ColorSelectionAdapter

java.lang.Object
  extended by javax.swing.colorchooser.DefaultColorSelectionModel
      extended by com.jgoodies.binding.adapter.ColorSelectionAdapter
All Implemented Interfaces:
java.io.Serializable, javax.swing.colorchooser.ColorSelectionModel

public final class ColorSelectionAdapter
extends javax.swing.colorchooser.DefaultColorSelectionModel

Converts ValueModels to the ColorSelectionModel interface. Useful to bind JColorChooser and similar classes to a ValueModel.

Constraints: The subject ValueModel must be of type Color and must allow read-access to its value. Also, it is strongly recommended (though not required) that the underlying ValueModel provides only non-null values. This is so because the ColorSelectionModel behavior is undefined for null values and it may have unpredictable results.

Examples:

 // Recommended binding style using a factory
 ValueModel model = presentationModel.getModel(MyBean.PROPERTYNAME_COLOR);
 JColorChooser colorChooser = BasicComponentFactory.createColorChooser(model);

 // Binding using the Bindings class
 ValueModel model = presentationModel.getModel(MyBean.PROPERTYNAME_COLOR);
 JColorChooser colorChooser = new JColorChooser();
 Bindings.bind(colorChooser, model);

 // Hand-made binding
 ValueModel model = presentationModel.getModel(MyBean.PROPERTYNAME_COLOR);
 JColorChooser colorChooser = new JColorChooser(new ColorSelectionAdapter(model));
 

Since:
1.0.3
Version:
$Revision: 1.11 $
Author:
Karsten Lentzsch
See Also:
ColorSelectionModel, JColorChooser, Serialized Form

Field Summary
 
Fields inherited from class javax.swing.colorchooser.DefaultColorSelectionModel
changeEvent, listenerList
 
Constructor Summary
ColorSelectionAdapter(ValueModel subject)
          Constructs a ColorSelectionAdapter on the given subject ValueModel.
ColorSelectionAdapter(ValueModel subject, java.awt.Color defaultColor)
          Constructs a ColorSelectionAdapter on the given subject ValueModel.
 
Method Summary
 java.awt.Color getSelectedColor()
          Returns the selected Color which should be non-null.
 void setSelectedColor(java.awt.Color color)
          Sets the selected color to color.
 
Methods inherited from class javax.swing.colorchooser.DefaultColorSelectionModel
addChangeListener, fireStateChanged, getChangeListeners, removeChangeListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ColorSelectionAdapter

public ColorSelectionAdapter(ValueModel subject)
Constructs a ColorSelectionAdapter on the given subject ValueModel.

Parameters:
subject - the subject that holds the value
Throws:
java.lang.NullPointerException - if the subject is null.

ColorSelectionAdapter

public ColorSelectionAdapter(ValueModel subject,
                             java.awt.Color defaultColor)
Constructs a ColorSelectionAdapter on the given subject ValueModel.

Parameters:
subject - the subject that holds the value
defaultColor - an optional default color that is used as selected color if the subject returns null
Throws:
java.lang.NullPointerException - if subject is null
Method Detail

getSelectedColor

public java.awt.Color getSelectedColor()
Returns the selected Color which should be non-null. The return value is the subject value model's value, if non-null, otherwise the default color. Note that the latter may be null too.

Specified by:
getSelectedColor in interface javax.swing.colorchooser.ColorSelectionModel
Overrides:
getSelectedColor in class javax.swing.colorchooser.DefaultColorSelectionModel
Returns:
the selected Color
Throws:
java.lang.ClassCastException - if the subject value is not a Color
See Also:
setSelectedColor(Color)

setSelectedColor

public void setSelectedColor(java.awt.Color color)
Sets the selected color to color. Note that setting the color to null is undefined and may have unpredictable results. This method fires a state changed event if it sets the current color to a new non-null color.

Specified by:
setSelectedColor in interface javax.swing.colorchooser.ColorSelectionModel
Overrides:
setSelectedColor in class javax.swing.colorchooser.DefaultColorSelectionModel
Parameters:
color - the new Color
See Also:
getSelectedColor()


Copyright © 2002-2010 JGoodies Karsten Lentzsch. All Rights Reserved.