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");
Image of the Button control
Since:
JavaFX 2.0
  • Property Details

  • Constructor Details

    • 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 Details

    • 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.
    • defaultButtonProperty

      public final BooleanProperty defaultButtonProperty()
      A default Button is the button that receives a keyboard VK_ENTER press, if no other node in the scene consumes it.
      See Also:
      isDefaultButton(), setDefaultButton(boolean)
    • 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.
    • cancelButtonProperty

      public final BooleanProperty cancelButtonProperty()
      A Cancel Button is the button that receives a keyboard VK_ESC press, if no other node in the scene consumes it.
      See Also:
      isCancelButton(), setCancelButton(boolean)
    • 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.