Class ButtonBase

  • All Implemented Interfaces:
    Styleable, EventTarget, Skinnable
    Direct Known Subclasses:
    Button, CheckBox, Hyperlink, MenuButton, ToggleButton

    public abstract class ButtonBase
    extends Labeled
    Base class for button-like UI Controls, including Hyperlinks, Buttons, ToggleButtons, CheckBoxes, and RadioButtons. The primary contribution of ButtonBase is providing a consistent API for handling the concept of button "arming". In UIs, a button will typically only "fire" if some user gesture occurs while the button is "armed". For example, a Button may be armed if the mouse is pressed and the Button is enabled and the mouse is over the button. In such a situation, if the mouse is then released, then the Button is "fired", meaning its action takes place.
    Since:
    JavaFX 2.0
    • Property Detail

      • armed

        public final ReadOnlyBooleanProperty armedProperty
        Indicates that the button has been "armed" such that a mouse release will cause the button's action to be invoked. This is subtly different from pressed. Pressed indicates that the mouse has been pressed on a Node and has not yet been released. arm however also takes into account whether the mouse is actually over the button and pressed.
        See Also:
        isArmed()
    • Constructor Detail

      • ButtonBase

        public ButtonBase()
        Create a default ButtonBase with empty text.
      • ButtonBase

        public ButtonBase​(String text)
        Create a ButtonBase with the given text.
        Parameters:
        text - null text is treated as the empty string
      • ButtonBase

        public ButtonBase​(String text,
                          Node graphic)
        Create a ButtonBase with the given text and graphic.
        Parameters:
        text - null text is treated as the empty string
        graphic - a null graphic is acceptable
    • Method Detail

      • armedProperty

        public final ReadOnlyBooleanProperty armedProperty()
        Indicates that the button has been "armed" such that a mouse release will cause the button's action to be invoked. This is subtly different from pressed. Pressed indicates that the mouse has been pressed on a Node and has not yet been released. arm however also takes into account whether the mouse is actually over the button and pressed.
        See Also:
        isArmed()
      • isArmed

        public final boolean isArmed()
        Gets the value of the property armed.
        Property description:
        Indicates that the button has been "armed" such that a mouse release will cause the button's action to be invoked. This is subtly different from pressed. Pressed indicates that the mouse has been pressed on a Node and has not yet been released. arm however also takes into account whether the mouse is actually over the button and pressed.
      • setOnAction

        public final void setOnAction​(EventHandler<ActionEvent> value)
        Sets the value of the property onAction.
        Property description:
        The button's action, which is invoked whenever the button is fired. This may be due to the user clicking on the button with the mouse, or by a touch event, or by a key press, or if the developer programmatically invokes the fire() method.
      • getOnAction

        public final EventHandler<ActionEvent> getOnAction()
        Gets the value of the property onAction.
        Property description:
        The button's action, which is invoked whenever the button is fired. This may be due to the user clicking on the button with the mouse, or by a touch event, or by a key press, or if the developer programmatically invokes the fire() method.
      • arm

        public void arm()
        Arms the button. An armed button will fire an action (whether that be the action of a Button or toggling selection on a CheckBox or some other behavior) on the next expected UI gesture. Note: This function is intended to be used by experts, primarily by those implementing new Skins or Behaviors. It is not common for developers or designers to access this function directly.
      • disarm

        public void disarm()
        Disarms the button. See arm(). Note: This function is intended to be used by experts, primarily by those implementing new Skins or Behaviors. It is not common for developers or designers to access this function directly.
      • fire

        public abstract 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 arm().