org.jdesktop.swingx.renderer
Class CheckBoxProvider

java.lang.Object
  extended by org.jdesktop.swingx.renderer.ComponentProvider<javax.swing.AbstractButton>
      extended by org.jdesktop.swingx.renderer.CheckBoxProvider
All Implemented Interfaces:
java.io.Serializable

public class CheckBoxProvider
extends ComponentProvider<javax.swing.AbstractButton>

A component provider which uses a JCheckBox.

This implementation respects a BooleanValue and a StringValue to configure the button's selected and text property. By default, the selected is mapped to a Boolean-type value and the text is empty.

To allow mapping to different types, client code can supply a custom StringValue which also implements BooleanValue. F.i. to render a cell value of type TableColumnExt with the column's visibility mapped to the selected and the column's title to the text:


            
     BooleanValue bv = new BooleanValue(){
        public boolean getBoolean(Object value) {
           if (value instanceof TableColumnExt) 
               return ((TableColumnExt) value).isVisible();
           return false;
        }
     };
     StringValue sv = new StringValue() {
         public String getString(Object value) {
           if (value instanceof TableColumnExt) 
               return ((TableColumnExt) value).getTitle();
           return "";
         }
     };
     list.setCellRenderer(new DefaultListRenderer(
           new CheckBoxProvider(new MappedValue(sv, null, bv), JLabel.LEADING))); 
 

Author:
Jeanette Winzenburg
See Also:
BooleanValue, StringValue, MappedValue, Serialized Form

Constructor Summary
CheckBoxProvider()
          Instantiates a CheckBoxProvider with default properties.
CheckBoxProvider(StringValue stringValue)
          Instantiates a CheckBoxProvider with the given StringValue and default alignment.
CheckBoxProvider(StringValue stringValue, int alignment)
          Instantiates a CheckBoxProvider with the given StringValue and alignment.
 
Method Summary
 boolean isBorderPainted()
          Returns the border painted flag.
 void setBorderPainted(boolean borderPainted)
          Sets the border painted flag.
 
Methods inherited from class org.jdesktop.swingx.renderer.ComponentProvider
getHorizontalAlignment, getRendererComponent, getString, getStringValue, setHorizontalAlignment, setStringValue
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CheckBoxProvider

public CheckBoxProvider()
Instantiates a CheckBoxProvider with default properties.


CheckBoxProvider

public CheckBoxProvider(StringValue stringValue)
Instantiates a CheckBoxProvider with the given StringValue and default alignment.

Parameters:
stringValue - the StringValue to use for formatting.

CheckBoxProvider

public CheckBoxProvider(StringValue stringValue,
                        int alignment)
Instantiates a CheckBoxProvider with the given StringValue and alignment.

Parameters:
stringValue - the StringValue to use for formatting.
alignment - the horizontalAlignment.
Method Detail

isBorderPainted

public boolean isBorderPainted()
Returns the border painted flag.

Returns:
the borderpainted flag to use on the checkbox.
See Also:
setBorderPainted(boolean)

setBorderPainted

public void setBorderPainted(boolean borderPainted)
Sets the border painted flag. The underlying checkbox is configured with this value on every request.

The default value is true.

Parameters:
borderPainted - the borderPainted property to configure the underlying checkbox with.
See Also:
isBorderPainted()