Класс Alert
- Все реализованные интерфейсы:
EventTarget
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
- См. также:
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
static enum |
Alert.AlertType |
Перечисление, содержащее доступные предопределённые типы сообщений, которые может использовать класс Alert для предварительной заполнения различных свойств. |
Краткое описание свойств
| Тип | Свойство | Описание |
|---|---|---|
final ObjectProperty |
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
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
Alert |
Создаёт сообщение с заданным типом AlertType (обратитесь к документации Alert.AlertType для уточнения наиболее подходящего). |
Alert |
Создаёт сообщение с заданным содержанием, типами кнопок и типом AlertType (обратитесь к документации Alert.AlertType для уточнения наиболее подходящего). |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final ObjectProperty |
alertTypeProperty() |
При создании экземпляра Alert пользователи должны передать значение перечисления Alert.AlertType. |
final Alert.AlertType |
getAlertType() |
Возвращает значение свойства alertType. |
final ObservableList |
getButtonTypes() |
Возвращает список всех экземпляров ButtonType, которые в настоящее время установлены в этом экземпляре Alert. |
final void |
setAlertType |
Устанавливает значение свойства alertType. |
Методы, объявленные в классе javafx.scene.control.Dialog
addEventFilter, addEventHandler, 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, removeEventFilter, removeEventHandler, 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.AlertType. Именно передача этого значения позволяет экземпляру Alert настроить себя должным образом (установив значения по умолчанию для многих свойств Dialog, включая title, header и graphic, а также значения по умолчанию для buttons, ожидаемых в диалоговом окне заданного типа.- См. также:
Подробное описание конструкторов
Alert
public Alert(Alert.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)
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, ожидаемых в диалоговом окне заданного типа). - Возвращает:
- значение свойства
alertType - См. также:
setAlertType
public final void setAlertType(Alert.AlertType alertType)
alertType.- Описание свойства:
- При создании экземпляра Alert пользователи должны передать значение перечисления
Alert.AlertType. Именно передача этого значения позволяет экземпляру Alert настроить себя должным образом (установив значения по умолчанию для многих свойствDialog, включаяtitle,headerиgraphic, а также значения по умолчанию дляbuttons, ожидаемых в диалоговом окне заданного типа). - Параметры:
-
alertType- значение для свойстваalertType - См. также:
alertTypeProperty
public final ObjectProperty<Alert.AlertType> alertTypeProperty()
Alert.AlertType. Именно передача этого значения позволяет экземпляру Alert настроить себя должным образом (установив значения по умолчанию для многих свойств Dialog, включая title, header и graphic, а также значения по умолчанию для buttons, ожидаемых в диалоговом окне заданного типа).- Возвращает:
- свойство
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.