Class Button

  • All Implemented Interfaces:
    Styleable, EventTarget, Skinnable

    public class Button
    extends ButtonBase

    A simple button control. The button control can contain text and/or a graphic. A button control has three different modes

    • Normal: A normal push button.
    • Default: The default button is rendered differently to make it apparent to users that it should be the default choice should they be unclear as to what should be selected. The behavior of the default button differs depending on the platform in which it is presented:
      • Windows / Linux: A default Button receives ENTER key presses when it has focus. When the default button does not have focus, and focus is on another Button control, the ENTER key press will be received by the other, non-default Button. When focus is elsewhere in the user interface, and not on any Button, the ENTER key press will be received by the default button, if one is specified, and if no other node in the scene consumes it first.
      • Mac OS X: A default Button is the only Button in the user interface that responds to the ENTER key press. If focus is on another non-default Button and ENTER is pressed, the event is only received by the default Button. On macOS, the only way to fire a non-default Button is through the SPACE key.
    • Cancel: A Cancel Button is the button that receives a keyboard VK_ESC press, if no other node in the scene consumes it.

    When a button is pressed and released a ActionEvent is sent. Your application can perform some action based on this event by implementing an EventHandler to process the ActionEvent. Buttons can also respond to mouse events by implementing an EventHandler to process the MouseEvent

    MnemonicParsing is enabled by default for Button.

    Example:

    Button button = new Button("Click Me");
    Since:
    JavaFX 2.0
    • Constructor Detail

      • Button

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

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

        public Button​(String text,
                      Node graphic)
        Creates a 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 Detail

      • setDefaultButton

        public final void setDefaultButton​(boolean value)
        Sets the value of the property defaultButton.
        Property description:
        A default Button is the button that receives a keyboard VK_ENTER press, if no other node in the scene consumes it.
      • isDefaultButton

        public final boolean isDefaultButton()
        Gets the value of the property defaultButton.
        Property description:
        A default Button is the button that receives a keyboard VK_ENTER press, if no other node in the scene consumes it.
      • setCancelButton

        public final void setCancelButton​(boolean value)
        Sets the value of the property cancelButton.
        Property description:
        A Cancel Button is the button that receives a keyboard VK_ESC press, if no other node in the scene consumes it.
      • isCancelButton

        public final boolean isCancelButton()
        Gets the value of the property cancelButton.
        Property description:
        A Cancel Button is the button that receives a keyboard VK_ESC press, if no other node in the scene consumes it.
      • 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.