Top Description Inners Fields Constructors Methods
org.controlsfx.control

public Class CheckComboBox<T>

extends ControlsFXControl
Class Inheritance
Annotations
@DefaultProperty:items
Type Parameters
<T>
The type of the data in the ComboBox.
Imports
impl.org.controlsfx.skin.CheckComboBoxSkin, javafx.beans.DefaultProperty, javafx.beans.property.BooleanProperty, .ObjectProperty, .SimpleBooleanProperty, .SimpleObjectProperty, .SimpleStringProperty, .StringProperty, javafx.collections.FXCollections, .ListChangeListener, .ObservableList, javafx.scene.control.CheckBox, .Skin, javafx.util.StringConverter, java.util.HashMap, .Map

A simple UI control that makes it possible to select zero or more items within a ComboBox-like control. Each row item shows a CheckBox, and the state of each row can be queried via the check model.
The title shown in the combobox is, by default, a concatenation of the selected items but this behaviour can be changed and it is possible to set a fixed title (see titleProperty() property), with or without an indication of how many items have been checked (see showCheckedCountProperty() property).

Screenshots

The following screenshot shows the CheckComboBox with some sample data:
Screenshot of CheckComboBox

The following screenshot shows the CheckComboBox with a fixed title and the indication of how many items have been checked:
Screenshot of CheckComboBox with number of checked items

Code Example:

To create the CheckComboBox shown in the screenshot, simply do the following:

// create the data to show in the CheckComboBox 
final ObservableList<String> strings = FXCollections.observableArrayList();
for (int i = 0; i <= 100; i++) {
    strings.add("Item " + i);
}

// Create the CheckComboBox with the data 
final CheckComboBox<String> checkComboBox = new CheckComboBox<String>(strings);

// and listen to the relevant events (e.g. when the selected indices or 
// selected items change).
checkComboBox.getCheckModel().getCheckedItems().addListener(new ListChangeListener<String>() {
    public void onChanged(ListChangeListener.Change<? extends String> c) {
         while(c.next()) {
             //do something with changes here
         }
         System.out.println(checkComboBox.getCheckModel().getCheckedItems());
    }
});
}

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static class

Field Summary

Modifier and TypeField and Description
private CheckComboBoxSkin<T>
private ObjectProperty<IndexedCheckModel<T>>
checkModel

Properties

public static final String
private ObjectProperty<StringConverter<T>>
private final Map<T, BooleanProperty>
private final ObservableList<T>
items

Private fields

private BooleanProperty
private StringProperty

Constructor Summary

AccessConstructor and Description
public
CheckComboBox()

Creates a new CheckComboBox instance with an empty list of choices.

public
CheckComboBox(final ObservableList<T>
The items to display within the CheckComboBox.
items
)

Creates a new CheckComboBox instance with the given items available as choices.

Method Summary

Modifier and TypeMethod and Description
public final ObjectProperty<IndexedCheckModel<T>>
checkModelProperty()

The check model provides the API through which it is possible to check single or multiple items within a CheckComboBox, as well as inspect which items have been checked by the user.

public final ObjectProperty<StringConverter<T>>
converterProperty()

A StringConverter that, given an object of type T, will return a String that can be used to represent the object visually.

protected Skin<?>
createDefaultSkin()

Overrides javafx.scene.control.Control.createDefaultSkin.

Create a new instance of the default skin for this control.

public final IndexedCheckModel<T>
getCheckModel()

Returns the currently installed check model.

public final StringConverter<T>
getConverter()

A StringConverter that, given an object of type T, will return a String that can be used to represent the object visually.

public BooleanProperty
getItemBooleanProperty(int index)

Returns the BooleanProperty for a given item index in the CheckComboBox.

public BooleanProperty
getItemBooleanProperty(T item)

Returns the BooleanProperty for a given item in the CheckComboBox.

public ObservableList<T>
getItems()

Represents the list of choices available to the user, from which they can select zero or more items.

public final String

Returns:

the title if it has been set, null otherwise
getTitle
()

The title set for this control, if it has been set explicitly by the client.

public void
hide()

Closes the popup / dialog that was shown when show() was called.

public final boolean
isShowCheckedCount()

Returns: whether the checked items count is set to be shown beside a fixed title

public final void
setCheckModel(IndexedCheckModel<T> value)

Sets the 'check model' to be used in the CheckComboBox - this is the code that is responsible for representing the selected state of each CheckBox - that is, whether each CheckBox is checked or not (and not to be confused with the selection model concept, which is used in the ComboBox control to represent the selection state of each row)..

public final void
setConverter(StringConverter<T>
A StringConverter that, given an object of type T, will return a String that can be used to represent the object visually.
value
)

Sets the StringConverter to be used in the control.

public final void
setShowCheckedCount(boolean
the value to set
value
)

Sets the value to use to decide whether the checked items count should be shown or not

public final void
setTitle(String
the string to use as title
value
)

Sets the title to use.

public void
show()

Requests that the ComboBox display the popup aspect of the user interface.

public final BooleanProperty

Returns:

if the count should be shown
showCheckedCountProperty
()

A boolean to decide if the information of how many items are checked should be shown beside the fixed title.

public final StringProperty
titleProperty()

The title to use for this control.

Inherited from org.controlsfx.control.ControlsFXControl:
getUserAgentStylesheet

Field Detail

checkComboBoxSkinback to summary
private CheckComboBoxSkin<T> checkComboBoxSkin
checkModelback to summary
private ObjectProperty<IndexedCheckModel<T>> checkModel

Properties

COMBO_BOX_ROWS_TO_MEASURE_WIDTH_KEYback to summary
public static final String COMBO_BOX_ROWS_TO_MEASURE_WIDTH_KEY

* Static fields * *

converterback to summary
private ObjectProperty<StringConverter<T>> converter
itemBooleanMapback to summary
private final Map<T, BooleanProperty> itemBooleanMap
itemsback to summary
private final ObservableList<T> items

Private fields

showCheckedCountback to summary
private BooleanProperty showCheckedCount
titleback to summary
private StringProperty title

Constructor Detail

CheckComboBoxback to summary
public CheckComboBox()

Creates a new CheckComboBox instance with an empty list of choices.

CheckComboBoxback to summary
public CheckComboBox(final ObservableList<T> items)

Creates a new CheckComboBox instance with the given items available as choices.

Parameters
items:ObservableList<T>

The items to display within the CheckComboBox.

Method Detail

checkModelPropertyback to summary
public final ObjectProperty<IndexedCheckModel<T>> checkModelProperty()

The check model provides the API through which it is possible to check single or multiple items within a CheckComboBox, as well as inspect which items have been checked by the user. Note that it has a generic type that must match the type of the CheckComboBox itself.

converterPropertyback to summary
public final ObjectProperty<StringConverter<T>> converterProperty()

A StringConverter that, given an object of type T, will return a String that can be used to represent the object visually.

createDefaultSkinback to summary
protected Skin<?> createDefaultSkin()

Overrides javafx.scene.control.Control.createDefaultSkin.

Doc from javafx.scene.control.Control.createDefaultSkin.

Create a new instance of the default skin for this control. This is called to create a skin for the control if no skin is provided via CSS -fx-skin or set explicitly in a sub-class with setSkin(...).

Annotations
@Override
getCheckModelback to summary
public final IndexedCheckModel<T> getCheckModel()

Returns the currently installed check model.

getConverterback to summary
public final StringConverter<T> getConverter()

A StringConverter that, given an object of type T, will return a String that can be used to represent the object visually.

getItemBooleanPropertyback to summary
public BooleanProperty getItemBooleanProperty(int index)

Returns the BooleanProperty for a given item index in the CheckComboBox. This is useful if you want to bind to the property.

getItemBooleanPropertyback to summary
public BooleanProperty getItemBooleanProperty(T item)

Returns the BooleanProperty for a given item in the CheckComboBox. This is useful if you want to bind to the property.

getItemsback to summary
public ObservableList<T> getItems()

Represents the list of choices available to the user, from which they can select zero or more items.

getTitleback to summary
public final String getTitle()

The title set for this control, if it has been set explicitly by the client.

Returns:String

the title if it has been set, null otherwise

hideback to summary
public void hide()

Closes the popup / dialog that was shown when show() was called.

isShowCheckedCountback to summary
public final boolean isShowCheckedCount()
Returns:boolean

whether the checked items count is set to be shown beside a fixed title

setCheckModelback to summary
public final void setCheckModel(IndexedCheckModel<T> value)

Sets the 'check model' to be used in the CheckComboBox - this is the code that is responsible for representing the selected state of each CheckBox - that is, whether each CheckBox is checked or not (and not to be confused with the selection model concept, which is used in the ComboBox control to represent the selection state of each row)..

setConverterback to summary
public final void setConverter(StringConverter<T> value)

Sets the StringConverter to be used in the control.

Parameters
value:StringConverter<T>

A StringConverter that, given an object of type T, will return a String that can be used to represent the object visually.

setShowCheckedCountback to summary
public final void setShowCheckedCount(boolean value)

Sets the value to use to decide whether the checked items count should be shown or not

Parameters
value:boolean

the value to set

setTitleback to summary
public final void setTitle(String value)

Sets the title to use. If it is not null it will be used as title, otherwise title will be constructed by the skin

Parameters
value:String

the string to use as title

showback to summary
public void show()

Requests that the ComboBox display the popup aspect of the user interface.

showCheckedCountPropertyback to summary
public final BooleanProperty showCheckedCountProperty()

A boolean to decide if the information of how many items are checked should be shown beside the fixed title. If a titleProperty() has been set and this property is set to true then a string like (3/10) would be shown when 3 items out of 10 are checked.
This property has effect only if a fixed title has been set (see titleProperty()), otherwise the title is constructed with a concatenation of the selected items.

Returns:BooleanProperty

if the count should be shown

titlePropertyback to summary
public final StringProperty titleProperty()

The title to use for this control. If a non null value is explicitly set by the client, then that string will be used, otherwise a title will be constructed concatenating the selected items

org.controlsfx.control back to summary

pack-priv Class CheckComboBox.CheckComboBoxBitSetCheckModel<T>

extends CheckBitSetModelBase<T>
Class Inheritance

Support classes

Field Summary

Modifier and TypeField and Description
private final ObservableList<T>
items

* Internal properties * *

Constructor Summary

AccessConstructor and Description
pack-priv
CheckComboBoxBitSetCheckModel(final ObservableList<T> items, final Map<T, BooleanProperty> itemBooleanMap)

* Constructors * *

Method Summary

Modifier and TypeMethod and Description
public T
getItem(int index)

Implements abstract org.controlsfx.control.CheckBitSetModelBase.getItem.

Implements org.controlsfx.control.IndexedCheckModel.getItem.

* Implementing abstract API * *

public int
getItemCount()

Implements abstract org.controlsfx.control.CheckBitSetModelBase.getItemCount.

Implements org.controlsfx.control.CheckModel.getItemCount.

Returns the count of items in the control.

public int
Inherited from org.controlsfx.control.CheckBitSetModelBase:
checkcheckcheckAllcheckIndicesclearCheckclearCheckclearChecksgetCheckedIndicesgetCheckedItemsgetItemBooleanPropertyisCheckedisCheckedisEmptytoggleCheckStatetoggleCheckStateupdateMap

Field Detail

itemsback to summary
private final ObservableList<T> items

* Internal properties * *

Constructor Detail

CheckComboBoxBitSetCheckModelback to summary
pack-priv CheckComboBoxBitSetCheckModel(final ObservableList<T> items, final Map<T, BooleanProperty> itemBooleanMap)

* Constructors * *

Method Detail

getItemback to summary
public T getItem(int index)

Implements abstract org.controlsfx.control.CheckBitSetModelBase.getItem.

Implements org.controlsfx.control.IndexedCheckModel.getItem.

* Implementing abstract API * *

Annotations
@Override
getItemCountback to summary
public int getItemCount()

Implements abstract org.controlsfx.control.CheckBitSetModelBase.getItemCount.

Implements org.controlsfx.control.CheckModel.getItemCount.

Doc from org.controlsfx.control.CheckModel.getItemCount.

Returns the count of items in the control.

Annotations
@Override
getItemIndexback to summary
public int getItemIndex(T item)

Implements abstract org.controlsfx.control.CheckBitSetModelBase.getItemIndex.

Implements org.controlsfx.control.IndexedCheckModel.getItemIndex.

Doc from org.controlsfx.control.IndexedCheckModel.getItemIndex.

Returns the index of the given item.

Annotations
@Override