Spec-Zone.ru › OpenJavaFX 21

Класс 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

Краткое описание свойств

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

Методы, объявленные в классе 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(Alert.AlertType)
  • alertTypeProperty()

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

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, ожидаемые в диалоговом окне данного типа).
Возвращает:
значение свойства alertType
См. также:
  • setAlertType(Alert.AlertType)
  • alertTypeProperty()

setAlertType

public final void setAlertType(Alert.AlertType alertType)
Устанавливает значение свойства alertType.
Описание свойства:
При создании экземпляра Alert пользователи должны передать значение перечисления Alert.AlertType. Именно передачей этого значения экземпляр Alert настраивается должным образом (устанавливая значения по умолчанию для многих свойств Dialog, включая title, header и graphic, а также значения по умолчанию для buttons, ожидаемые в диалоговом окне данного типа).
Параметры:
alertType - значение для свойства alertType
См. также:
  • getAlertType()
  • alertTypeProperty()

alertTypeProperty

public final ObjectProperty<Alert.AlertType> alertTypeProperty()
При создании экземпляра Alert пользователи должны передать значение перечисления Alert.AlertType. Именно передачей этого значения экземпляр Alert настраивается должным образом (устанавливая значения по умолчанию для многих свойств Dialog, включая title, header и graphic, а также значения по умолчанию для buttons, ожидаемые в диалоговом окне данного типа).
Возвращает:
свойство alertType
См. также:
  • getAlertType()
  • setAlertType(Alert.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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API