Класс Alert
- javafx.scene.control.Dialog<ButtonType>
-
- javafx.scene.control.Alert
Все реализуемые интерфейсы:
public class Alert extends Dialog<ButtonType>
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
См. также:
-
Краткое описание свойств
Все методыМетоды экземпляраКонкретные методы Тип Свойство и описание 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 classAlert.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.AlertTypegetAlertType()Возвращает значение свойства alertType.ObservableList<ButtonType>getButtonTypes()Возвращает списокObservableListвсех экземпляровButtonType, которые в настоящее время установлены в этом экземпляре Alert.voidsetAlertType(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
-
-
Подробное описание свойства
-
alertType
public final ObjectProperty<Alert.AlertType> alertTypeProperty
При создании экземпляра Alert пользователи должны передать значение перечисленияAlert.AlertType. Именно передача этого значения позволяет экземпляру Alert настроить себя должным образом (установив значения по умолчанию для многих свойствDialog, включаяtitle,headerиgraphic, а также значения по умолчанию дляbuttonsдля диалога заданного типа).См. также:
-
-
Подробное описание конструкторов
-
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для диалога заданного типа).См. также:
-
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.