Spec-Zone.ru › OpenJavaFX 24

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

Краткое описание вложенных классов

Модификатор и тип Класс Описание
static enum  Alert.AlertType
Перечисление, содержащее доступные предопределённые типы сообщений, которые может использовать класс Alert для предварительной заполнения различных свойств.

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

Тип Свойство Описание
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

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

Конструктор Описание
Alert(Alert.AlertType alertType)
Создаёт сообщение с заданным типом AlertType (обратитесь к документации Alert.AlertType для уточнения наиболее подходящего).
Alert(Alert.AlertType alertType, String contentText, ButtonType... buttons)
Создаёт сообщение с заданным содержанием, типами кнопок и типом AlertType (обратитесь к документации Alert.AlertType для уточнения наиболее подходящего).

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

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

© 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