Класс 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
- См. также:
Краткое описание свойств
| Тип | Свойство | Описание |
|---|---|---|
final 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 enum |
Alert.AlertType |
Перечисление, содержащее доступные предопределённые типы сообщений, которые класс Alert может использовать для предварительной установки различных свойств. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
Alert |
Создаёт всплывающее окно с указанным типом Alert (обратитесь к документации Alert.AlertType для уточнения наиболее подходящего). |
Alert |
Создаёт всплывающее окно с заданным текстом содержимого, типами кнопок и типом Alert (обратитесь к документации Alert.AlertType для уточнения наиболее подходящего). |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final ObjectProperty<Alert.AlertType> |
alertTypeProperty() |
При создании экземпляра Alert пользователи должны указать значение перечисления Alert.AlertType. |
final Alert.AlertType |
getAlertType() |
Получает значение свойства alertType. |
final ObservableList<ButtonType> |
getButtonTypes() |
Возвращает ObservableList всех экземпляров 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.