Spec-Zone.ru › OpenJavaFX 11
Модуль javafx.controls
Пакет javafx.scene.control

Класс Alert

  • java.lang.Object
    • javafx.scene.control.Dialog<ButtonType>
      • javafx.scene.control.Alert
  • Все реализованные интерфейсы:
    EventTarget
    public class Alert
    extends Dialog<ButtonType>
    Класс Alert наследуется от класса Dialog и предоставляет поддержку ряда предопределённых типов диалоговых окон, которые легко отображаются пользователю для запроса ответа. Поэтому для многих пользователей класс Alert является наиболее подходящим классом для их задач (по сравнению с использованием Dialog напрямую). В альтернативных случаях, пользователям, которые хотят запросить у пользователя ввод текста или выбрать значение из списка, лучше использовать TextInputDialog и ChoiceDialog соответственно.

    При создании экземпляра Alert пользователи должны передать значение перечисления Alert.AlertType. Именно с помощью этого значения экземпляр Alert будет настроен должным образом (установив значения по умолчанию для многих свойств Dialog, включая title, header и graphic, а также по умолчанию buttons, ожидаемые в диалоговом окне данного типа.

    Для создания (но ещё не отображения) экземпляра Alert используйте код, например: Alert alert = new Alert(AlertType.CONFIRMATION, "Are you sure you want to format your system?");

    После создания экземпляра Alert необходимо отобразить его. Чаще всего, всплывающие окна (и диалоговые окна вообще) отображаются модально и блокирующим образом. 'Модальный' означает, что диалоговое окно предотвращает взаимодействие пользователя с приложением, пока оно отображается, а 'блокирующий' означает, что выполнение кода останавливается в момент отображения диалогового окна. Это означает, что вы можете отобразить диалоговое окно, дождаться ответа пользователя и затем продолжить выполнение кода, непосредственно следующего за вызовом show, что позволяет разработчикам сразу обрабатывать пользовательский ввод из диалогового окна (если это актуально).

    Диалоговые окна JavaFX по умолчанию модальные (это можно изменить с помощью API Dialog.initModality(javafx.stage.Modality)). Для указания, хотите ли вы блокирующие или неблокирующие диалоговые окна, разработчики просто вызывают Dialog.showAndWait() или Dialog.show() (соответственно). По умолчанию большинство разработчиков должны выбрать Dialog.showAndWait() из-за простоты кодирования в таких ситуациях. Ниже приведены три фрагмента кода, демонстрирующие три одинаково допустимых способа отображения диалогового окна Alert, которое было указано выше:

    Вариант 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: Полностью лямбда-подход

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

    Нет лучшего или худшего варианта из трёх перечисленных выше, поэтому разработчикам рекомендуется работать в соответствии со своими предпочтениями стиля. Цель демонстрации выше – помочь разработчикам познакомиться с API Optional, который является новым в Java 8 и может быть незнаком многим разработчикам.

    С тех пор:
    JavaFX 8u40
    См. также:
    Dialog, Alert.AlertType, TextInputDialog, ChoiceDialog
  • Резюме свойств

    Свойства
    Тип Свойство Описание
    ObjectProperty<Alert.AlertType> alertType
    При создании экземпляра Alert пользователи должны передать значение перечисления Alert.AlertType.
    • Наследованные свойства от класса javafx.scene.control.Dialog

      contentText, dialogPane, graphic, headerText, height, onCloseRequest, onHidden, onHiding, onShowing, onShown, resizable, resultConverter, result, showing, title, width, x, y
  • Резюме вложенных классов

    Вложенные классы
    Модификатор и тип Класс Описание
    static class  Alert.AlertType
    Перечисление доступных предопределённых типов alert, которые может использовать класс Alert для предварительной настройки различных свойств.
  • Резюме конструкторов

    Конструкторы
    Конструктор Описание
    Alert​(Alert.AlertType alertType)
    Создаёт alert с заданным типом AlertType (см. документацию Alert.AlertType для выяснения, какой из них наиболее подходит).
    Alert​(Alert.AlertType alertType, String contentText, ButtonType... buttons)
    Создаёт alert с заданным contentText, ButtonTypes и AlertType (см. документацию Alert.AlertType для выяснения, какой из них наиболее подходит).
  • Резюме методов

    Все методыМетодыКонкретные методы
    Модификатор и тип Метод Описание
    ObjectProperty<Alert.AlertType> alertTypeProperty()
    При создании экземпляра Alert пользователи должны передать значение перечисления Alert.AlertType.
    Alert.AlertType getAlertType()
    Возвращает значение свойства alertType.
    ObservableList<ButtonType> getButtonTypes()
    Возвращает ObservableList всех ButtonType экземпляров, которые в данный момент установлены внутри этого экземпляра Alert.
    void setAlertType​(Alert.AlertType alertType)
    Устанавливает значение свойства alertType.
    • Наследованные методы от класса javafx.scene.control.Dialog

      buildEventDispatchChain, close, contentTextProperty, dialogPaneProperty, getContentText, getDialogPane, getGraphic, getHeaderText, getHeight, getModality, getOnCloseRequest, getOnHidden, getOnHiding, getOnShowing, getOnShown, getOwner, getResult, getResultConverter, getTitle, getWidth, getX, getY, graphicProperty, headerTextProperty, heightProperty, hide, initModality, initOwner, initStyle, isResizable, isShowing, onCloseRequestProperty, onHiddenProperty, onHidingProperty, onShowingProperty, onShownProperty, resizableProperty, resultConverterProperty, resultProperty, setContentText, setDialogPane, setGraphic, setHeaderText, setHeight, setOnCloseRequest, setOnHidden, setOnHiding, setOnShowing, setOnShown, setResizable, setResult, setResultConverter, setTitle, setWidth, setX, setY, show, showAndWait, showingProperty, titleProperty, widthProperty, xProperty, yProperty
    • Наследованные методы от класса java.lang.Object

      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Подробности свойства

    • alertType

      public final ObjectProperty<Alert.AlertType> alertTypeProperty
      При создании экземпляра Alert пользователи должны передать значение перечисления Alert.AlertType. Именно передача этого значения позволяет экземпляру Alert правильно настроить себя (установив значения по умолчанию для многих свойств Dialog, включая title, header и graphic, а также значения по умолчанию для buttons, ожидаемые в диалоговом окне данного типа).
      См. также:
      getAlertType(), setAlertType(Alert.AlertType)
  • Подробности конструктора

    • Alert

      public Alert​(Alert.AlertType alertType)
      Создаёт диалоговое окно с типом Alert (см. документацию Alert.AlertType, чтобы понять, какой тип наиболее подходит).

      Передавая AlertType, устанавливаются значения по умолчанию для свойств title, headerText и graphic, а также устанавливаются соответствующие значения для buttons. После создания экземпляра Alert разработчики могут изменять значения по своему усмотрению.

      Важно отметить, что свойство, для которого не установлено значение по умолчанию, и которое поэтому необходимо установить разработчику, это свойство content text (или, как альтернатива, разработчик может вызвать alert.getDialogPane().setContent(Node), если ему нужно более сложное диалоговое окно). Если свойства contentText (или content) не установлены, пользователи не увидят полезной информации.

      Параметры:
      alertType - диалоговое окно с указанным типом Alert
    • Alert

      public Alert​(Alert.AlertType alertType,
                   String contentText,
                   ButtonType... buttons)
      Создаёт диалоговое окно с заданным содержанием, типами кнопок и типом Alert (см. документацию Alert.AlertType, чтобы понять, какой тип наиболее подходит).

      Передавая переменное количество аргументов ButtonType, разработчик непосредственно переопределяет кнопки, которые будут отображаться в диалоговом окне, заменяя предварительно определённые кнопки на те, которые указаны в массиве varargs.

      Передавая AlertType, устанавливаются значения по умолчанию для свойств title, headerText и graphic. После создания экземпляра Alert разработчики могут изменять значения по своему усмотрению.

      Параметры:
      alertType - тип диалогового окна
      contentText - текст содержания
      buttons - типы кнопок
  • Подробности метода

    • getAlertType

      public final Alert.AlertType getAlertType()
      Возвращает значение свойства alertType.
      Описание свойства:
      При создании экземпляра Alert пользователи должны передать значение перечисления Alert.AlertType. Именно передача этого значения позволяет экземпляру Alert правильно настроить себя (установив значения по умолчанию для многих свойств Dialog, включая title, header и graphic, а также значения по умолчанию для buttons, ожидаемые в диалоговом окне данного типа).
    • setAlertType

      public final void setAlertType​(Alert.AlertType alertType)
      Устанавливает значение свойства alertType.
      Описание свойства:
      При создании экземпляра Alert пользователи должны передать значение перечисления Alert.AlertType. Именно передача этого значения позволяет экземпляру Alert правильно настроить себя (установив значения по умолчанию для многих свойств Dialog, включая title, header и graphic, а также значения по умолчанию для buttons, ожидаемые в диалоговом окне данного типа).
    • alertTypeProperty

      public final ObjectProperty<Alert.AlertType> alertTypeProperty()
      При создании экземпляра Alert пользователи должны передать значение перечисления Alert.AlertType. Именно передача этого значения позволяет экземпляру Alert правильно настроить себя (установив значения по умолчанию для многих свойств Dialog, включая title, header и graphic, а также значения по умолчанию для buttons, ожидаемые в диалоговом окне данного типа).
      См. также:
      getAlertType(), setAlertType(Alert.AlertType)
    • getButtonTypes

      public final ObservableList<ButtonType> getButtonTypes()
      Возвращает ObservableList всех ButtonType экземпляров, которые в данный момент установлены в этом экземпляре Alert. ButtonType может быть одним из предварительно определённых типов (например, ButtonType.OK), или пользовательским типом (созданным с помощью конструкторов ButtonType(String) или ButtonType(String, javafx.scene.control.ButtonBar.ButtonData)).

      Читатели должны обратиться к документации класса ButtonType для получения более подробной информации, но в общем случае каждый экземпляр ButtonType преобразуется в узел (хотя чаще всего в Button) через (переопределяемый) метод DialogPane.createButton(ButtonType) в DialogPane.

      Возвращает:
      ObservableList всех ButtonType экземпляров, которые в данный момент установлены в этом экземпляре Alert

© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API