Spec-Zone.ru › OpenJavaFX 17

Класс 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?");
Image of the Alert control

После создания экземпляра 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

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

Методы, объявленные в интерфейсе javafx.event.EventTarget

buildEventDispatchChain

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

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)
Создает предупреждение с заданным типом AlertType (обратитесь к документации Alert.AlertType для уточнения, какой тип наиболее подходит).

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

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

Параметры:
alertType - предупреждение с заданным типом AlertType

Alert

public Alert(Alert.AlertType alertType, String contentText, ButtonType... buttons)
Создаёт предупреждение с заданным значением contentText, ButtonTypes и AlertType (обратитесь к документации 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.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