|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.swing.DefaultButtonModel
javax.swing.JToggleButton.ToggleButtonModel
com.jgoodies.binding.adapter.RadioButtonAdapter
public final class RadioButtonAdapter
Converts ValueModels to the ToggleButtonModel interface. Useful to bind JRadioButtons and JRadioButtonMenuItems to a ValueModel.
This adapter holds a choice object that is used to determine the selection state if the underlying subject ValueModel changes its value. This model is selected if the subject's value equals the choice object. And if the selection is set, the choice object is set to the subject.
Note: You must not use a ButtonGroup with this adapter. The RadioButtonAdapter ensures that only one choice is selected by sharing a single subject ValueModel - at least if all choice values differ. See also the example below.
Example:
// Recommended binding style using a factory PresentationModel presentationModel = new PresentationModel(printerSettings); ValueModel orientationModel = presentationModel.getModel(PrinterSettings.PROPERTY_ORIENTATION); JRadioButton landscapeButton = BasicComponentFactory.createRadioButton( orientationModel, PrinterSettings.LANDSCAPE, "Landscape"); JRadioButton portraitButton = BasicComponentFactory.createRadioButton( orientationModel, PrinterSettings.PORTRAIT, "Portrait"); // Binding using the Bindings class ValueModel orientationModel = presentationModel.getModel(PrinterSettings.PROPERTY_ORIENTATION); JRadioButton landscapeButton = new JRadioButton("Landscape"); Bindings.bind(landscapeButton, orientationModel, "landscape"); JRadioButton portraitButton = new JRadioButton("Portrait"); Bindings.bind(portraitButton, orientationModel, "portrait"); // Hand-made style ValueModel orientationModel = presentationModel.getModel(PrinterSettings.PROPERTY_ORIENTATION); JRadioButton landscapeButton = new JRadioButton("Landscape"); landscapeButton.setModel(new RadioButtonAdapter(model, "landscape"); JRadioButton portraitButton = new JRadioButton("Portrait"); portraitButton.setModel(new RadioButtonAdapter(model, "portrait");
ButtonModel
,
JRadioButton
,
JRadioButtonMenuItem
,
Serialized FormField Summary |
---|
Fields inherited from class javax.swing.DefaultButtonModel |
---|
actionCommand, ARMED, changeEvent, ENABLED, group, listenerList, mnemonic, PRESSED, ROLLOVER, SELECTED, stateMask |
Constructor Summary | |
---|---|
RadioButtonAdapter(ValueModel subject,
Object choice)
Constructs a RadioButtonAdapter on the given subject ValueModel for the specified choice. |
Method Summary | |
---|---|
void |
setGroup(ButtonGroup group)
Throws an UnsupportedOperationException if the group is not null . |
void |
setSelected(boolean b)
First, the subject value is set to this adapter's choice value if the argument is true . |
Methods inherited from class javax.swing.JToggleButton.ToggleButtonModel |
---|
isSelected, setPressed |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public RadioButtonAdapter(ValueModel subject, Object choice)
choice
.
subject
- the subject that holds the valuechoice
- the choice that indicates that this adapter is selected
NullPointerException
- if the subject is null
Method Detail |
---|
public void setSelected(boolean b)
true
. Second, this adapter's state is set
to the then current subject value. The latter ensures that the selection
state is synchronized with the subject - even if the subject rejects
the change.
Does nothing if the boolean argument is false
,
or if this adapter is already selected.
setSelected
in interface ButtonModel
setSelected
in class JToggleButton.ToggleButtonModel
b
- true
sets the choice value as subject value,
and is intended to select this adapter (although it may not happen);
false
does nothingpublic void setGroup(ButtonGroup group)
null
. You need not and must not
use a ButtonGroup with a set of RadioButtonAdapters.
RadioButtonAdapters form a group by sharing the same
subject ValueModel.
setGroup
in interface ButtonModel
setGroup
in class DefaultButtonModel
group
- the ButtonGroup
that will be rejected
UnsupportedOperationException
- if the group is not null
.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |