Class ToggleButton

All Implemented Interfaces:
Styleable, EventTarget, Skinnable, Toggle
Direct Known Subclasses:
RadioButton

public class ToggleButton
extends ButtonBase
implements Toggle
A ToggleButton is a specialized control which has the ability to be selected. Typically a ToggleButton is rendered similarly to a Button. However, they are two different types of Controls. A Button is a "command" button which invokes a function when clicked. A ToggleButton on the other hand is simply a control with a Boolean indicating whether it has been selected.

ToggleButton can also be placed in groups. By default, a ToggleButton is not in a group. When in groups, only one ToggleButton at a time within that group can be selected. To put two ToggleButtons in the same group, simply assign them both the same value for ToggleGroup.

Unlike RadioButtons, ToggleButtons in a ToggleGroup do not attempt to force at least one selected ToggleButton in the group. That is, if a ToggleButton is selected, clicking on it will cause it to become unselected. With RadioButton, clicking on the selected button in the group will have no effect.

Example:

 ToggleButton tb1 = new ToggleButton("toggle button 1");
 ToggleButton tb2 = new ToggleButton("toggle button 2");
 ToggleButton tb3 = new ToggleButton("toggle button 3");
 ToggleGroup group = new ToggleGroup();
 tb1.setToggleGroup(group);
 tb2.setToggleGroup(group);
 tb3.setToggleGroup(group);
Image of the ToggleButton control

MnemonicParsing is enabled by default for ToggleButton.

Since:
JavaFX 2.0
  • Property Details

  • Constructor Details

    • ToggleButton

      public ToggleButton()
      Creates a toggle button with an empty string for its label.
    • ToggleButton

      public ToggleButton​(String text)
      Creates a toggle button with the specified text as its label.
      Parameters:
      text - A text string for its label.
    • ToggleButton

      public ToggleButton​(String text, Node graphic)
      Creates a toggle button with the specified text and icon for its label.
      Parameters:
      text - A text string for its label.
      graphic - the icon for its label.
  • Method Details

    • setSelected

      public final void setSelected​(boolean value)
      Sets the value of the property selected.
      Specified by:
      setSelected in interface Toggle
      Property description:
      Indicates whether this toggle button is selected. This can be manipulated programmatically.
      Parameters:
      value - true to make this Toggle selected.
    • isSelected

      public final boolean isSelected()
      Gets the value of the property selected.
      Specified by:
      isSelected in interface Toggle
      Property description:
      Indicates whether this toggle button is selected. This can be manipulated programmatically.
      Returns:
      true if this Toggle is selected.
    • selectedProperty

      public final BooleanProperty selectedProperty()
      Indicates whether this toggle button is selected. This can be manipulated programmatically.
      Specified by:
      selectedProperty in interface Toggle
      See Also:
      isSelected(), setSelected(boolean)
    • setToggleGroup

      public final void setToggleGroup​(ToggleGroup value)
      Sets the value of the property toggleGroup.
      Specified by:
      setToggleGroup in interface Toggle
      Property description:
      The ToggleGroup to which this ToggleButton belongs. A ToggleButton can only be in one group at any one time. If the group is changed, then the button is removed from the old group prior to being added to the new group.
      Parameters:
      value - The new ToggleGroup.
    • getToggleGroup

      public final ToggleGroup getToggleGroup()
      Gets the value of the property toggleGroup.
      Specified by:
      getToggleGroup in interface Toggle
      Property description:
      The ToggleGroup to which this ToggleButton belongs. A ToggleButton can only be in one group at any one time. If the group is changed, then the button is removed from the old group prior to being added to the new group.
      Returns:
      The ToggleGroup to which this Toggle belongs.
    • toggleGroupProperty

      public final ObjectProperty<ToggleGroup> toggleGroupProperty()
      The ToggleGroup to which this ToggleButton belongs. A ToggleButton can only be in one group at any one time. If the group is changed, then the button is removed from the old group prior to being added to the new group.
      Specified by:
      toggleGroupProperty in interface Toggle
      See Also:
      getToggleGroup(), setToggleGroup(ToggleGroup)
    • fire

      public void fire()
      Invoked when a user gesture indicates that an event for this ButtonBase should occur.

      If invoked, this method will be executed regardless of the status of ButtonBase.arm().

      Specified by:
      fire in class ButtonBase
    • createDefaultSkin

      protected Skin<?> 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(...).
      Overrides:
      createDefaultSkin in class Control
      Returns:
      new instance of default skin for this control. If null then the control will have no skin unless one is provided by css.
    • getInitialAlignment

      protected Pos getInitialAlignment()
      Returns the initial alignment state of this control, for use by the JavaFX CSS engine to correctly set its initial value. This method is overridden to use Pos.CENTER initially.
      Overrides:
      getInitialAlignment in class Labeled
      Returns:
      the initial alignment state of this control
      Since:
      9
    • queryAccessibleAttribute

      public Object queryAccessibleAttribute​(AccessibleAttribute attribute, Object... parameters)
      This method is called by the assistive technology to request the value for an attribute.

      This method is commonly overridden by subclasses to implement attributes that are required for a specific role.
      If a particular attribute is not handled, the superclass implementation must be called.

      Overrides:
      queryAccessibleAttribute in class Control
      Parameters:
      attribute - the requested attribute
      parameters - optional list of parameters
      Returns:
      the value for the requested attribute
      See Also:
      AccessibleAttribute