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:
Serializable, ColorSelectionModel

public final class ColorSelectionAdapter
extends 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.9 $
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, Color defaultColor)
          Constructs a ColorSelectionAdapter on the given subject ValueModel.
 
Method Summary
 Color getSelectedColor()
          Returns the selected Color which should be non-null.
 void setSelectedColor(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:
NullPointerException - if the subject is null.

ColorSelectionAdapter

public ColorSelectionAdapter(ValueModel subject,
                             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:
NullPointerException - if the subject is null.
Method Detail

getSelectedColor

public 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 ColorSelectionModel
Overrides:
getSelectedColor in class DefaultColorSelectionModel
Returns:
the selected Color
Throws:
ClassCastException - if the subject value is not a Color
See Also:
setSelectedColor(Color)

setSelectedColor

public void setSelectedColor(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 ColorSelectionModel
Overrides:
setSelectedColor in class DefaultColorSelectionModel
Parameters:
color - the new Color
See Also:
getSelectedColor()


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