JCheckBoxpublic class JCheckBox extends JToggleButton implements AccessibleAn implementation of a check box -- an item that can be selected or
deselected, and which displays its state to the user.
By convention, any number of check boxes in a group can be selected.
See How to Use Buttons, Check Boxes, and Radio Buttons
in The Java Tutorial
for examples and information on using check boxes.
Warning:
Serialized objects of this class will not be compatible with
future Swing releases. The current serialization support is
appropriate for short term storage or RMI between applications running
the same version of Swing. As of 1.4, support for long term storage
of all JavaBeansTM
has been added to the java.beans package.
Please see {@link java.beans.XMLEncoder}. |
Fields Summary |
---|
public static final String | BORDER_PAINTED_FLAT_CHANGED_PROPERTYIdentifies a change to the flat property. | private boolean | flat | private static final String | uiClassID |
Constructors Summary |
---|
public JCheckBox()Creates an initially unselected check box button with no text, no icon.
this(null, null, false);
| public JCheckBox(Icon icon)Creates an initially unselected check box with an icon.
this(null, icon, false);
| public JCheckBox(Icon icon, boolean selected)Creates a check box with an icon and specifies whether
or not it is initially selected.
this(null, icon, selected);
| public JCheckBox(String text)Creates an initially unselected check box with text.
this(text, null, false);
| public JCheckBox(Action a)Creates a check box where properties are taken from the
Action supplied.
this();
setAction(a);
| public JCheckBox(String text, boolean selected)Creates a check box with text and specifies whether
or not it is initially selected.
this(text, null, selected);
| public JCheckBox(String text, Icon icon)Creates an initially unselected check box with
the specified text and icon.
this(text, icon, false);
| public JCheckBox(String text, Icon icon, boolean selected)Creates a check box with text and icon,
and specifies whether or not it is initially selected.
super(text, icon, selected);
setUIProperty("borderPainted", Boolean.FALSE);
setHorizontalAlignment(LEADING);
|
Methods Summary |
---|
protected void | configurePropertiesFromAction(javax.swing.Action a)Factory method which sets the ActionEvent source's
properties according to values from the Action instance. The
properties which are set may differ for subclasses.
By default, the properties which get set are Text, Mnemonic,
Enabled, ActionCommand , and ToolTipText .
String[] types = { Action.MNEMONIC_KEY, Action.NAME,
Action.SHORT_DESCRIPTION,
Action.ACTION_COMMAND_KEY, "enabled" };
configurePropertiesFromAction(a, types);
| protected java.beans.PropertyChangeListener | createActionPropertyChangeListener(javax.swing.Action a)Factory method which creates the PropertyChangeListener
used to update the ActionEvent source as properties change on
its Action instance. Subclasses may override this in order
to provide their own PropertyChangeListener if the set of
properties which should be kept up to date differs from the
default properties (Text, Icon, Enabled, ToolTipText).
Note that PropertyChangeListeners should avoid holding
strong references to the ActionEvent source, as this may hinder
garbage collection of the ActionEvent source and all components
in its containment hierarchy.
return new AbstractActionPropertyChangeListener(this, a) {
public void propertyChange(PropertyChangeEvent e) {
String propertyName = e.getPropertyName();
AbstractButton button = (AbstractButton)getTarget();
if (button == null) { //WeakRef GC'ed in 1.2
Action action = (Action)e.getSource();
action.removePropertyChangeListener(this);
} else {
if (propertyName.equals(Action.NAME)) {
String text = (String) e.getNewValue();
button.setText(text);
button.repaint();
} else if (propertyName.equals(Action.SHORT_DESCRIPTION)) {
String text = (String) e.getNewValue();
button.setToolTipText(text);
} else if (propertyName.equals("enabled")) {
Boolean enabledState = (Boolean) e.getNewValue();
button.setEnabled(enabledState.booleanValue());
button.repaint();
} else if (propertyName.equals(Action.ACTION_COMMAND_KEY)) {
button.setActionCommand((String)e.getNewValue());
}
}
}
};
| public javax.accessibility.AccessibleContext | getAccessibleContext()Gets the AccessibleContext associated with this JCheckBox.
For JCheckBoxes, the AccessibleContext takes the form of an
AccessibleJCheckBox.
A new AccessibleJCheckBox instance is created if necessary.
if (accessibleContext == null) {
accessibleContext = new AccessibleJCheckBox();
}
return accessibleContext;
| public java.lang.String | getUIClassID()Returns a string that specifies the name of the L&F class
that renders this component.
return uiClassID;
| public boolean | isBorderPaintedFlat()Gets the value of the borderPaintedFlat property.
return flat;
| protected java.lang.String | paramString()Returns a string representation of this JCheckBox. This method
is intended to be used only for debugging purposes, and the
content and format of the returned string may vary between
implementations. The returned string may be empty but may not
be null .
specific new aspects of the JFC components.
return super.paramString();
| private void | readObject(java.io.ObjectInputStream s)See JComponent.readObject() for information about serialization
in Swing.
s.defaultReadObject();
if (getUIClassID().equals(uiClassID)) {
updateUI();
}
| public void | setBorderPaintedFlat(boolean b)Sets the borderPaintedFlat property,
which gives a hint to the look and feel as to the
appearance of the check box border.
This is usually set to true when a
JCheckBox instance is used as a
renderer in a component such as a JTable or
JTree . The default value for the
borderPaintedFlat property is false .
This method fires a property changed event.
Some look and feels might not implement flat borders;
they will ignore this property.
boolean oldValue = flat;
flat = b;
firePropertyChange(BORDER_PAINTED_FLAT_CHANGED_PROPERTY, oldValue, flat);
if (b != oldValue) {
revalidate();
repaint();
}
| public void | updateUI()Resets the UI property to a value from the current look and feel.
setUI((ButtonUI)UIManager.getUI(this));
| private void | writeObject(java.io.ObjectOutputStream s)
s.defaultWriteObject();
if (getUIClassID().equals(uiClassID)) {
byte count = JComponent.getWriteObjCounter(this);
JComponent.setWriteObjCounter(this, --count);
if (count == 0 && ui != null) {
ui.installUI(this);
}
}
|
|