Module  javafx.controls
软件包  javafx.scene.control

Class Button

  • All Implemented Interfaces:
    StyleableEventTargetSkinnable


    public class Button
    extends ButtonBase

    一个简单的按钮控件。 按钮控件可以包含文本和/或图形。 按钮控件有三种不同的模式

    • 正常:普通按钮。
    • 默认值:默认按钮的呈现方式不同,使用户明白,如果不清楚应该选择什么,它应该是默认选择。 默认按钮的行为根据显示的平台而有所不同:
      • Windows / Linux:当有焦点时,默认按钮接收到ENTER按键。 当默认按钮没有焦点,并且焦点在另一个按钮控件上时,按ENTER键将被其他非默认按钮接收。 当焦点位于用户界面的其他位置,而不是任何按钮时,如果指定了默认按钮,则按ENTER键将被默认按钮接收,并且场景中没有其他节点首先消耗。
      • Mac OS X:默认按钮是用户界面中唯一响应ENTER键的按钮。 如果焦点在另一个非默认按钮和ENTER按下,事件只会被默认的按钮接收。 在macOS上,启动非默认按钮的唯一方法是通过SPACE键。
    • 取消:取消按钮是接收键盘VK_ESC的按钮,如果场景中没有其他节点消耗它。

    当按下并释放按钮时,会发送一个ActionEvent 您的应用程序可以通过实现执行基于此事件的一些动作EventHandler处理ActionEvent 按钮也可以鼠标事件通过实施应对EventHandler处理MouseEvent

    默认情况下为Button启用助记符分析。

    例:

      Button button = new Button("Click Me"); 
    从以下版本开始:
    JavaFX 2.0
    • 构造方法详细信息

      • Button

        public Button​()
        为其标签创建一个空字符串的按钮。
      • Button

        public Button​(String text)
        创建具有指定文本的按钮作为其标签。
        参数
        text - 其标签的文本字符串。
      • Button

        public Button​(String text,
                      Node graphic)
        创建一个带有指定文本和图标的按钮。
        参数
        text - 其标签的文本字符串。
        graphic - 其标签的图标。
    • 方法详细信息

      • setDefaultButton

        public final void setDefaultButton​(boolean value)
        设置属性defaultButton的值。
        Property description:
        默认按钮是接收键盘VK_ENTER的按钮,如果场景中没有其他节点消耗它。
      • isDefaultButton

        public final boolean isDefaultButton​()
        获取属性defaultButton的值。
        Property description:
        默认按钮是接收键盘VK_ENTER的按钮,如果场景中没有其他节点消耗它。
      • setCancelButton

        public final void setCancelButton​(boolean value)
        设置属性cancelButton的值。
        Property description:
        取消按钮是接收键盘VK_ESC的按钮,如果场景中没有其他节点消耗它。
      • isCancelButton

        public final boolean isCancelButton​()
        获取属性cancelButton的值。
        Property description:
        取消按钮是接收键盘VK_ESC的按钮,如果场景中没有其他节点消耗它。
      • fire

        public void fire​()
        当用户手势指示应发生ButtonBase的事件时调用。

        如果调用,无论ButtonBase.arm()的状态如何,都将执行此方法。

        Specified by:
        fireButtonBase
      • createDefaultSkin

        protected Skin<?> createDefaultSkin​()
        为此控件创建一个新的默认皮肤实例。 如果没有通过CSS -fx-skin提供皮肤,或者在具有setSkin(...)的子类中显式设置,则调用此控件创建皮肤。
        重写:
        createDefaultSkin中的 Control
        结果
        new instance of default skin for this control. If null then the control will have no skin unless one is provided by css.