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

Class Alert

  • All Implemented Interfaces:
    EventTarget


    public class Alert
    extends Dialog<ButtonType>
    Alert类对Dialog类进行子类化,并为许多预构建的对话框类型提供支持,可以轻松向用户显示提示响应。 因此,对于许多用户来说,Alert类是最适合他们需要的类(而不是直接使用Dialog )。 或者,希望通过使用TextInputDialogChoiceDialog来更好地服务于想要提示用户进行文本输入或从选项列表中进行选择的用户。

    创建Alert实例时,用户必须传入一个Alert.AlertType枚举值。 它是通过在该值警报实例将自身适当配置(由许多的设置默认值Dialog属性,包括titleheader ,并graphic ,以及默认buttons预计,在给定的一个对话框,类型。

    要实例化(但尚未显示)警报,只需使用以下代码: Alert alert = new Alert(AlertType.CONFIRMATION, "Are you sure you want to format your system?");

    一旦警报被实例化,我们必须显示。 通常,警报(和一般对话框)以模态和阻止的方式显示。 'Modal'意味着该对话框可以防止用户在显示时与所拥有的应用程序进行交互,而'blocking'意味着代码执行在显示对话框的时候停止。 这意味着您可以显示一个对话框,等待用户响应,然后继续运行直接在show调用之后的代码,使开发人员能够立即处理来自对话框的用户输入(如果相关)。

    默认情况下,JavaFX对话框是模态的(您可以通过Dialog.initModality(javafx.stage.Modality) API更改此对话框 )。 要指定是否要阻止或不阻止对话框,开发人员只需选择分别调用Dialog.showAndWait()Dialog.show() 默认情况下,大多数开发人员应该选择使用Dialog.showAndWait() ,因为在这些情况下易于编码。 下面显示的是三个代码片段,显示了三个同样有效的方式来显示上面指定的“警报”对话框:

    选项1:“传统”方法

      Optional<ButtonType> result = alert.showAndWait(); if (result.isPresent() && result.get() == ButtonType.OK) { formatSystem(); } 

    选项2:传统+可选方法

      alert.showAndWait().ifPresent(response -> { if (response == ButtonType.OK) { formatSystem(); } }); 

    选项3:完全lambda方法

      alert.showAndWait() .filter(response -> response == ButtonType.OK) .ifPresent(response -> formatSystem());  

    上面列出的三个选项没有更好或更差的选择,所以鼓励开发人员自己设计风格偏好。 显示上述内容的目的是帮助开发人员介绍API6.0685923290699 API,这是Java 8中的新增功能,可能是许多开发人员的外部 API。

    从以下版本开始:
    JavaFX 8u40
    另请参见:
    DialogAlert.AlertTypeTextInputDialogChoiceDialog
    • 构造方法详细信息

      • Alert

        public Alert​(Alert.AlertType alertType)
        使用给定的AlertType创建警报(请参阅Alert.AlertType文档以了解哪一个是最合适的)。

        通过传递一个警告类型,默认值titleheaderText ,并graphic属性设置,以及相关buttons正在安装。 一旦Alert被实例化,开发人员就可以根据需要修改警报的值。

        重要的是要注意,没有默认值设置的属性,因此开发人员必须设置的属性是content text属性(或者,如果他们想要更复杂的警报,开发人员可能会调用alert.getDialogPane().setContent(Node) )。 如果未设置contentText(或内容)属性,则没有向最终用户显示有用的信息。

        参数
        alertType - 给定AlertType的警报
      • Alert

        public Alert​(Alert.AlertType alertType,
                     String contentText,
                     ButtonType... buttons)
        使用给定的contentText,ButtonTypes和AlertType创建警报(请参阅Alert.AlertType文档,了解哪一个是最合适的)。

        通过传递可变数量的ButtonType参数,开发人员直接覆盖将在对话框中显示的默认按钮,用varargs数组中指定的任何内容替换预定义的按钮。

        通过使在警告类型,默认值titleheaderText ,和graphic属性被设置。 一旦Alert被实例化,开发人员就可以根据需要修改警报的值。

        参数
        alertType - 警报类型
        contentText - 内容文本
        buttons - 按钮类型