Spec-Zone.ru › OpenJavaFX 8
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.AlertType alertType)
    Создаёт сообщение с указанным типом AlertType (обратитесь к документации Alert.AlertType для уточнения, какой тип наиболее подходит).
    Alert(Alert.AlertType alertType, String contentText, ButtonType... buttons)
    Создаёт сообщение с указанным текстом содержимого, типами кнопок и типом 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(AlertType)

  • Подробное описание конструкторов

    • Alert

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

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

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

    • Alert

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

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

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

  • Подробное описание методов

    • 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(AlertType)

    • getButtonTypes

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

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

© 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