Class Dialog<R>
- Type Parameters:
-
R- The return type of the dialog, via theresultproperty.
- All Implemented Interfaces:
EventTarget
- Direct Known Subclasses:
-
Alert,ChoiceDialog,TextInputDialog
public class Dialog<R> extends Object implements EventTarget
DialogPane and provides the necessary API to present it to end users. In JavaFX 8u40, this essentially means that the DialogPane is shown to users inside a Stage, but future releases may offer alternative options (such as 'lightweight' or 'internal' dialogs). This API therefore is intentionally ignorant of the underlying implementation, and attempts to present a common API for all possible implementations. The Dialog class has a single generic type, R, which is used to represent the type of the result property (and also, how to convert from ButtonType to R, through the use of the result converter Callback).
Critical note: It is critical that all developers who choose to create their own dialogs by extending the Dialog class understand the importance of the result converter property. A result converter must always be set, whenever the R type is not Void or ButtonType. If this is not heeded, developers will find that they get ClassCastExceptions in their code, for failure to convert from ButtonType via the result converter.
It is likely that most developers would be better served using either the Alert class (for pre-defined, notification-style alerts), or either of the two pre-built dialogs (TextInputDialog and ChoiceDialog), depending on their needs.
Once a Dialog is instantiated, the next step is to configure it. Almost all properties on Dialog are not related to the content of the Dialog, the only exceptions are contentTextProperty(), headerTextProperty(), and graphicProperty(), and these properties are simply forwarding API onto the respective properties on the DialogPane stored in the dialog pane property. These three properties are forwarded from DialogPane for developer convenience. For developers wanting to configure their dialog, they will in many cases be required to use code along the lines of dialog.getDialogPane().setExpandableContent(node).
After configuring these properties, all that remains is to consider whether the buttons (created using ButtonType and the DialogPane.createButton(ButtonType) method) are fully configured. Developers will quickly find that the amount of configurability offered via the ButtonType class is minimal. This is intentional, but does not mean that developers can not modify the buttons created by the ButtonType that have been specified. To do this, developers simply call the DialogPane.lookupButton(ButtonType) method with the ButtonType (assuming it has already been set in the DialogPane.getButtonTypes() list. The returned Node is typically of type Button, but this depends on if the DialogPane.createButton(ButtonType) method has been overridden. A typical approach is therefore along the following lines:
ButtonType loginButtonType = new ButtonType("Login", ButtonData.OK_DONE);
Dialog<String> dialog = new Dialog<>();
dialog.setTitle("Login Dialog");
dialog.setContentText("Would you like to log in?");
dialog.getDialogPane().getButtonTypes().add(loginButtonType);
boolean disabled = false; // computed based on content of text fields, for example
dialog.getDialogPane().lookupButton(loginButtonType).setDisable(disabled);
dialog.showAndWait(); Once a Dialog is instantiated and fully configured, the next step is to show it. More often than not, dialogs are shown in a modal and blocking fashion. 'Modal' means that the dialog prevents user interaction with the owning application whilst it is showing, and 'blocking' means that code execution stops at the point in which the dialog is shown. This means that you can show a dialog, await the user response, and then continue running the code that directly follows the show call, giving developers the ability to immediately deal with the user input from the dialog (if relevant).
JavaFX dialogs are modal by default (you can change this via the initModality(javafx.stage.Modality) API). To specify whether you want blocking or non-blocking dialogs, developers simply choose to call showAndWait() or show() (respectively). By default most developers should choose to use showAndWait(), given the ease of coding in these situations. Shown below is three code snippets, showing three equally valid ways of showing a dialog:
Option 1: The 'traditional' approach
Optional<ButtonType> result = dialog.showAndWait();
if (result.isPresent() && result.get() == ButtonType.OK) {
formatSystem();
} Option 2: The traditional + Optional approach
dialog.showAndWait().ifPresent(response -> {
if (response == ButtonType.OK) {
formatSystem();
}
}); Option 3: The fully lambda approach
dialog.showAndWait()
.filter(response -> response == ButtonType.OK)
.ifPresent(response -> formatSystem()); There is no better or worse option of the three listed above, so developers are encouraged to work to their own style preferences. The purpose of showing the above is to help introduce developers to the Optional API, which is new in Java 8 and may be foreign to many developers.
Dialog Validation / Intercepting Button Actions
In some circumstances it is desirable to prevent a dialog from closing until some aspect of the dialog becomes internally consistent (e.g. a form inside the dialog has all fields in a valid state). To do this, users of the dialogs API should become familiar with the DialogPane.lookupButton(ButtonType) method. By passing in a ButtonType (that has already been set in the button types list), users will be returned a Node that is typically of type Button (but this depends on if the DialogPane.createButton(ButtonType) method has been overridden). With this button, users may add an event filter that is called before the button does its usual event handling, and as such users may prevent the event handling by consuming the event. Here's a simplified example:
final Button btOk = (Button) dlg.getDialogPane().lookupButton(ButtonType.OK);
btOk.addEventFilter(ActionEvent.ACTION, event -> {
if (!validateAndStore()) {
event.consume();
}
}); Dialog Closing Rules
It is important to understand what happens when a Dialog is closed, and also how a Dialog can be closed, especially in abnormal closing situations (such as when the 'X' button is clicked in a dialogs title bar, or when operating system specific keyboard shortcuts (such as alt-F4 on Windows) are entered). Fortunately, the outcome is well-defined in these situations, and can be best summarised in the following bullet points:
- JavaFX dialogs can only be closed 'abnormally' (as defined above) in two situations:
- When the dialog only has one button, or
- When the dialog has multiple buttons, as long as one of them meets one of the following requirements:
- The button has a
ButtonTypewhoseButtonBar.ButtonDatais of typeButtonBar.ButtonData.CANCEL_CLOSE. - The button has a
ButtonTypewhoseButtonBar.ButtonDatareturns true whenButtonBar.ButtonData.isCancelButton()is called.
- The button has a
- In all other situations, the dialog will refuse to respond to all close requests, remaining open until the user clicks on one of the available buttons in the
DialogPanearea of the dialog. - If a dialog is closed abnormally, and if the dialog contains a button which meets one of the two criteria above, the dialog will attempt to set the
resultproperty to whatever value is returned from calling theresult converterwith the first matchingButtonType. - If for any reason the result converter returns null, or if the dialog is closed when only one non-cancel button is present, the
resultproperty will be null, and theshowAndWait()method will returnOptional.empty(). This later point means that, if you use either of option 2 or option 3 (as presented earlier in this class documentation), theOptional.ifPresent(java.util.function.Consumer)lambda will never be called, and code will continue executing as if the dialog had not returned any value at all.
- Since:
- JavaFX 8u40
- See Also:
Property Summary
| Type | Property | Description |
|---|---|---|
final StringProperty |
contentText |
A property representing the content text for the dialog pane. |
final ObjectProperty<DialogPane> |
dialogPane |
The root node of the dialog, the DialogPane contains all visual elements shown in the dialog. |
final ObjectProperty<Node> |
graphic |
The dialog graphic, presented either in the header, if one is showing, or to the left of the content. |
final StringProperty |
headerText |
A property representing the header text for the dialog pane. |
final ReadOnlyDoubleProperty |
height |
Property representing the height of the dialog. |
final ObjectProperty<EventHandler<DialogEvent>> |
onCloseRequest |
Called when there is an external request to close this Dialog. |
final ObjectProperty<EventHandler<DialogEvent>> |
onHidden |
Called just after the Dialog has been hidden. |
final ObjectProperty<EventHandler<DialogEvent>> |
onHiding |
Called just prior to the Dialog being hidden. |
final ObjectProperty<EventHandler<DialogEvent>> |
onShowing |
Called just prior to the Dialog being shown. |
final ObjectProperty<EventHandler<DialogEvent>> |
onShown |
Called just after the Dialog is shown. |
final BooleanProperty |
resizable |
Represents whether the dialog is resizable. |
final ObjectProperty<Callback<ButtonType, |
resultConverter |
API to convert the ButtonType that the user clicked on into a result that can be returned via the result property. |
final ObjectProperty<R> |
result |
A property representing what has been returned from the dialog. |
final ReadOnlyBooleanProperty |
showing |
Represents whether the dialog is currently showing. |
final StringProperty |
title |
Return the titleProperty of the dialog. |
final ReadOnlyDoubleProperty |
width |
Property representing the width of the dialog. |
final ReadOnlyDoubleProperty |
x |
The horizontal location of this Dialog. |
final ReadOnlyDoubleProperty |
y |
The vertical location of this Dialog. |
Constructor Summary
| Constructor | Description |
|---|---|
Dialog() |
Creates a dialog without a specified owner. |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
final <E extends Event> |
addEventFilter |
Registers an event filter for this target. |
final <E extends Event> |
addEventHandler |
Registers an event handler for this target. |
EventDispatchChain |
buildEventDispatchChain |
Construct an event dispatch chain for this target. |
final void |
close() |
Closes this Dialog. |
final StringProperty |
contentTextProperty() |
A property representing the content text for the dialog pane. |
final ObjectProperty<DialogPane> |
dialogPaneProperty() |
The root node of the dialog, the DialogPane contains all visual elements shown in the dialog. |
final String |
getContentText() |
Returns the currently-set content text for this DialogPane. |
final DialogPane |
getDialogPane() |
Gets the value of the dialogPane property. |
final Node |
getGraphic() |
Gets the value of the graphic property. |
final String |
getHeaderText() |
Returns the currently-set header text for this DialogPane. |
final double |
getHeight() |
Returns the height of the dialog. |
final Modality |
getModality() |
Retrieves the modality attribute for this dialog. |
final EventHandler<DialogEvent> |
getOnCloseRequest() |
Gets the value of the onCloseRequest property. |
final EventHandler<DialogEvent> |
getOnHidden() |
Gets the value of the onHidden property. |
final EventHandler<DialogEvent> |
getOnHiding() |
Gets the value of the onHiding property. |
final EventHandler<DialogEvent> |
getOnShowing() |
Gets the value of the onShowing property. |
final EventHandler<DialogEvent> |
getOnShown() |
Gets the value of the onShown property. |
final Window |
getOwner() |
Retrieves the owner Window for this dialog, or null for an unowned dialog. |
final R |
getResult() |
Gets the value of the result property. |
final Callback<ButtonType, |
getResultConverter() |
Gets the value of the resultConverter property. |
final String |
getTitle() |
Return the title of the dialog. |
final double |
getWidth() |
Returns the width of the dialog. |
final double |
getX() |
Gets the value of the x property. |
final double |
getY() |
Gets the value of the y property. |
final ObjectProperty<Node> |
graphicProperty() |
The dialog graphic, presented either in the header, if one is showing, or to the left of the content. |
final StringProperty |
headerTextProperty() |
A property representing the header text for the dialog pane. |
final ReadOnlyDoubleProperty |
heightProperty() |
Property representing the height of the dialog. |
final void |
hide() |
Hides this Dialog. |
final void |
initModality |
Specifies the modality for this dialog. |
final void |
initOwner |
Specifies the owner Window for this dialog, or null for a top-level, unowned dialog. |
final void |
initStyle |
Specifies the style for this dialog. |
final boolean |
isResizable() |
Returns whether or not the dialog is resizable. |
final boolean |
isShowing() |
Returns whether or not the dialog is showing. |
final ObjectProperty<EventHandler<DialogEvent>> |
onCloseRequestProperty() |
Called when there is an external request to close this Dialog. |
final ObjectProperty<EventHandler<DialogEvent>> |
onHiddenProperty() |
Called just after the Dialog has been hidden. |
final ObjectProperty<EventHandler<DialogEvent>> |
onHidingProperty() |
Called just prior to the Dialog being hidden. |
final ObjectProperty<EventHandler<DialogEvent>> |
onShowingProperty() |
Called just prior to the Dialog being shown. |
final ObjectProperty<EventHandler<DialogEvent>> |
onShownProperty() |
Called just after the Dialog is shown. |
final <E extends Event> |
removeEventFilter |
Unregisters a previously registered event filter from this target. |
final <E extends Event> |
removeEventHandler |
Unregisters a previously registered event handler from this target. |
final BooleanProperty |
resizableProperty() |
Represents whether the dialog is resizable. |
final ObjectProperty<Callback<ButtonType, |
resultConverterProperty() |
API to convert the ButtonType that the user clicked on into a result that can be returned via the result property. |
final ObjectProperty<R> |
resultProperty() |
A property representing what has been returned from the dialog. |
final void |
setContentText |
Sets the string to show in the dialog content area. |
final void |
setDialogPane |
Sets the value of the dialogPane property. |
final void |
setGraphic |
Sets the dialog graphic, which will be displayed either in the header, if one is showing, or to the left of the content. |
final void |
setHeaderText |
Sets the string to show in the dialog header area. |
final void |
setHeight |
Sets the height of the dialog. |
final void |
setOnCloseRequest |
Sets the value of the onCloseRequest property. |
final void |
setOnHidden |
Sets the value of the onHidden property. |
final void |
setOnHiding |
Sets the value of the onHiding property. |
final void |
setOnShowing |
Sets the value of the onShowing property. |
final void |
setOnShown |
Sets the value of the onShown property. |
final void |
setResizable |
Sets whether the dialog can be resized by the user. |
final void |
setResult |
Sets the value of the result property. |
final void |
setResultConverter |
Sets the value of the resultConverter property. |
final void |
setTitle |
Change the Title of the dialog. |
final void |
setWidth |
Sets the width of the dialog. |
final void |
setX |
Sets the value of the x property. |
final void |
setY |
Sets the value of the y property. |
final void |
show() |
Shows the dialog but does not wait for a user response (in other words, this brings up a non-blocking dialog). |
final Optional<R> |
showAndWait() |
Shows the dialog and waits for the user response (in other words, brings up a blocking dialog, with the returned value the users input). |
final ReadOnlyBooleanProperty |
showingProperty() |
Represents whether the dialog is currently showing. |
final StringProperty |
titleProperty() |
Return the titleProperty of the dialog. |
final ReadOnlyDoubleProperty |
widthProperty() |
Property representing the width of the dialog. |
final ReadOnlyDoubleProperty |
xProperty() |
The horizontal location of this Dialog. |
final ReadOnlyDoubleProperty |
yProperty() |
The vertical location of this Dialog. |
Property Details
dialogPane
public final ObjectProperty<DialogPane> dialogPaneProperty
DialogPane contains all visual elements shown in the dialog. As such, it is possible to completely adjust the display of the dialog by modifying the existing dialog pane or creating a new one.contentText
public final StringProperty contentTextProperty
content node, meaning that if both the content node and the contentText properties are set, the content text will not be displayed in a default DialogPane instance.headerText
public final StringProperty headerTextProperty
header node, meaning that if both the header node and the headerText properties are set, the header text will not be displayed in a default DialogPane instance.graphic
public final ObjectProperty<Node> graphicProperty
content.- See Also:
result
public final ObjectProperty<R> resultProperty
result converter, which is intended to convert from the ButtonType that the user clicked on into a value of type R. Refer to the Dialog class JavaDoc for more details.- See Also:
resultConverter
public final ObjectProperty<Callback<ButtonType,R>> resultConverterProperty
ButtonType that the user clicked on into a result that can be returned via the result property. This is necessary as ButtonType represents the visual button within the dialog, and do not know how to map themselves to a valid result - that is a requirement of the dialog implementation by making use of the result converter. In some cases, the result type of a Dialog subclass is ButtonType (which means that the result converter can be null), but in some cases (where the result type, R, is not ButtonType or Void), this callback must be specified.showing
public final ReadOnlyBooleanProperty showingProperty
- See Also:
resizable
public final BooleanProperty resizableProperty
width
public final ReadOnlyDoubleProperty widthProperty
- See Also:
height
public final ReadOnlyDoubleProperty heightProperty
- See Also:
title
public final StringProperty titleProperty
- See Also:
x
public final ReadOnlyDoubleProperty xProperty
Dialog. Changing this attribute will move the Dialog horizontally.- See Also:
y
public final ReadOnlyDoubleProperty yProperty
Dialog. Changing this attribute will move the Dialog vertically.- See Also:
onShowing
public final ObjectProperty<EventHandler<DialogEvent>> onShowingProperty
onShown
public final ObjectProperty<EventHandler<DialogEvent>> onShownProperty
onHiding
public final ObjectProperty<EventHandler<DialogEvent>> onHidingProperty
onHidden
public final ObjectProperty<EventHandler<DialogEvent>> onHiddenProperty
Dialog is hidden, this event handler is invoked allowing the developer to clean up resources or perform other tasks when the Alert is closed.onCloseRequest
public final ObjectProperty<EventHandler<DialogEvent>> onCloseRequestProperty
Dialog. The installed event handler can prevent dialog closing by consuming the received event.Constructor Details
Dialog
public Dialog()
Method Details
show
public final void show()
result property, or else add a listener to the result property to be informed of when it is set.- Throws:
-
IllegalStateException- if this method is called on a thread other than the JavaFX Application Thread.
showAndWait
public final Optional<R> showAndWait()
This method must be called on the JavaFX Application thread. Additionally, it must either be called from an input event handler or from the run method of a Runnable passed to Platform.runLater. It must not be called during animation or layout processing.
- Returns:
- An
Optionalthat contains theresult. Refer to theDialogclass documentation for more detail. - Throws:
-
IllegalStateException- if this method is called on a thread other than the JavaFX Application Thread. -
IllegalStateException- if this method is called during animation or layout processing.
close
public final void close()
Dialog. This call is equivalent to hide().hide
public final void hide()
Dialog.initModality
public final void initModality(Modality modality)
- Default value:
- Modality.APPLICATION_MODAL
- Parameters:
-
modality- the modality for this dialog. - Throws:
-
IllegalStateException- if this property is set after the dialog has ever been made visible.
getModality
public final Modality getModality()
- Returns:
- the modality.
initStyle
public final void initStyle(StageStyle style)
- Default value:
- StageStyle.DECORATED
- Parameters:
-
style- the style for this dialog. - Throws:
-
IllegalStateException- if this property is set after the dialog has ever been made visible.
initOwner
public final void initOwner(Window window)
Window for this dialog, or null for a top-level, unowned dialog. This must be done prior to making the dialog visible.- Default value:
- null
- Parameters:
-
window- the ownerWindowfor this dialog. - Throws:
-
IllegalStateException- if this property is set after the dialog has ever been made visible.
getOwner
public final Window getOwner()
- Returns:
- the owner Window.
dialogPaneProperty
public final ObjectProperty<DialogPane> dialogPaneProperty()
DialogPane contains all visual elements shown in the dialog. As such, it is possible to completely adjust the display of the dialog by modifying the existing dialog pane or creating a new one.- Returns:
- the
dialogPaneproperty - See Also:
getDialogPane
public final DialogPane getDialogPane()
dialogPane property.- Property description:
- The root node of the dialog, the
DialogPanecontains all visual elements shown in the dialog. As such, it is possible to completely adjust the display of the dialog by modifying the existing dialog pane or creating a new one. - Returns:
- the value of the
dialogPaneproperty - See Also:
setDialogPane
public final void setDialogPane(DialogPane value)
dialogPane property.- Property description:
- The root node of the dialog, the
DialogPanecontains all visual elements shown in the dialog. As such, it is possible to completely adjust the display of the dialog by modifying the existing dialog pane or creating a new one. - Parameters:
-
value- the value for thedialogPaneproperty - See Also:
contentTextProperty
public final StringProperty contentTextProperty()
content node, meaning that if both the content node and the contentText properties are set, the content text will not be displayed in a default DialogPane instance.- Returns:
- the property representing the content text for the dialog pane
- See Also:
getContentText
public final String getContentText()
- Returns:
- the currently-set content text for this DialogPane
setContentText
public final void setContentText(String contentText)
content node, meaning that if both the content node and the contentText properties are set, the content text will not be displayed in a default DialogPane instance.- Parameters:
-
contentText- the string to show in the dialog content area
headerTextProperty
public final StringProperty headerTextProperty()
header node, meaning that if both the header node and the headerText properties are set, the header text will not be displayed in a default DialogPane instance.- Returns:
- a property representing the header text for the dialog pane
- See Also:
getHeaderText
public final String getHeaderText()
- Returns:
- the currently-set header text for this DialogPane
setHeaderText
public final void setHeaderText(String headerText)
header node, meaning that if both the header node and the headerText properties are set, the header text will not be displayed in a default DialogPane instance.- Parameters:
-
headerText- the string to show in the dialog header area
graphicProperty
public final ObjectProperty<Node> graphicProperty()
content.- Returns:
- An ObjectProperty wrapping the current graphic.
- See Also:
getGraphic
public final Node getGraphic()
graphic property.- Property description:
- The dialog graphic, presented either in the header, if one is showing, or to the left of the
content. - Returns:
- the value of the
graphicproperty - See Also:
setGraphic
public final void setGraphic(Node graphic)
content.- Parameters:
-
graphic- The new dialog graphic, or null if no graphic should be shown.
resultProperty
public final ObjectProperty<R> resultProperty()
result converter, which is intended to convert from the ButtonType that the user clicked on into a value of type R. Refer to the Dialog class JavaDoc for more details.- Returns:
- a property representing what has been returned from the dialog
- See Also:
getResult
public final R getResult()
result property.- Property description:
- A property representing what has been returned from the dialog. A result is generated through the
result converter, which is intended to convert from theButtonTypethat the user clicked on into a value of type R. Refer to theDialogclass JavaDoc for more details. - Returns:
- the value of the
resultproperty - See Also:
setResult
public final void setResult(R value)
result property.- Property description:
- A property representing what has been returned from the dialog. A result is generated through the
result converter, which is intended to convert from theButtonTypethat the user clicked on into a value of type R. Refer to theDialogclass JavaDoc for more details. - Parameters:
-
value- the value for theresultproperty - See Also:
resultConverterProperty
public final ObjectProperty<Callback<ButtonType,R>> resultConverterProperty()
ButtonType that the user clicked on into a result that can be returned via the result property. This is necessary as ButtonType represents the visual button within the dialog, and do not know how to map themselves to a valid result - that is a requirement of the dialog implementation by making use of the result converter. In some cases, the result type of a Dialog subclass is ButtonType (which means that the result converter can be null), but in some cases (where the result type, R, is not ButtonType or Void), this callback must be specified.- Returns:
- the API to convert the
ButtonTypethat the user clicked on - See Also:
getResultConverter
public final Callback<ButtonType,R> getResultConverter()
resultConverter property.- Property description:
- API to convert the
ButtonTypethat the user clicked on into a result that can be returned via theresultproperty. This is necessary asButtonTyperepresents the visual button within the dialog, and do not know how to map themselves to a valid result - that is a requirement of the dialog implementation by making use of the result converter. In some cases, the result type of a Dialog subclass is ButtonType (which means that the result converter can be null), but in some cases (where the result type, R, is not ButtonType or Void), this callback must be specified. - Returns:
- the value of the
resultConverterproperty - See Also:
setResultConverter
public final void setResultConverter(Callback<ButtonType,R> value)
resultConverter property.- Property description:
- API to convert the
ButtonTypethat the user clicked on into a result that can be returned via theresultproperty. This is necessary asButtonTyperepresents the visual button within the dialog, and do not know how to map themselves to a valid result - that is a requirement of the dialog implementation by making use of the result converter. In some cases, the result type of a Dialog subclass is ButtonType (which means that the result converter can be null), but in some cases (where the result type, R, is not ButtonType or Void), this callback must be specified. - Parameters:
-
value- the value for theresultConverterproperty - See Also:
showingProperty
public final ReadOnlyBooleanProperty showingProperty()
- Returns:
- the property representing whether the dialog is currently showing
- See Also:
isShowing
public final boolean isShowing()
- Returns:
- true if dialog is showing.
resizableProperty
public final BooleanProperty resizableProperty()
- Returns:
- the property representing whether the dialog is resizable
- See Also:
isResizable
public final boolean isResizable()
- Returns:
- true if dialog is resizable.
setResizable
public final void setResizable(boolean resizable)
- Parameters:
-
resizable- true if dialog should be resizable.
widthProperty
public final ReadOnlyDoubleProperty widthProperty()
- Returns:
- the property representing the width of the dialog
- See Also:
getWidth
public final double getWidth()
- Returns:
- the width of the dialog
setWidth
public final void setWidth(double width)
- Parameters:
-
width- the width of the dialog
heightProperty
public final ReadOnlyDoubleProperty heightProperty()
- Returns:
- the property representing the height of the dialog
- See Also:
getHeight
public final double getHeight()
- Returns:
- the height of the dialog
setHeight
public final void setHeight(double height)
- Parameters:
-
height- the height of the dialog
titleProperty
public final StringProperty titleProperty()
- Returns:
- the titleProperty of the dialog
- See Also:
getTitle
public final String getTitle()
- Returns:
- the title of the dialog
setTitle
public final void setTitle(String title)
- Parameters:
-
title- the Title of the dialog
getX
public final double getX()
x property.- Property description:
- The horizontal location of this
Dialog. Changing this attribute will move theDialoghorizontally. - Returns:
- the value of the
xproperty - See Also:
setX
public final void setX(double x)
x property.- Property description:
- The horizontal location of this
Dialog. Changing this attribute will move theDialoghorizontally. - Parameters:
-
x- the value for thexproperty - See Also:
xProperty
public final ReadOnlyDoubleProperty xProperty()
Dialog. Changing this attribute will move the Dialog horizontally.- Returns:
- the horizontal location of this
Dialog - See Also:
getY
public final double getY()
y property.- Property description:
- The vertical location of this
Dialog. Changing this attribute will move theDialogvertically. - Returns:
- the value of the
yproperty - See Also:
setY
public final void setY(double y)
y property.- Property description:
- The vertical location of this
Dialog. Changing this attribute will move theDialogvertically. - Parameters:
-
y- the value for theyproperty - See Also:
yProperty
public final ReadOnlyDoubleProperty yProperty()
Dialog. Changing this attribute will move the Dialog vertically.- Returns:
- the vertical location of this
Dialog - See Also:
buildEventDispatchChain
public EventDispatchChain buildEventDispatchChain(EventDispatchChain tail)
EventTargetEventTarget. This event target is not automatically added to the chain, so if it wants to process events, it needs to add an EventDispatcher for itself to the chain. In the case the event target is part of some hierarchy, the chain for it is usually built from event dispatchers collected from the root of the hierarchy to the event target.
The event dispatch chain is constructed by modifications to the provided initial event dispatch chain. The returned chain should have the initial chain at its end so the dispatchers should be prepended to the initial chain.
The caller shouldn't assume that the initial chain remains unchanged nor that the returned value will reference a different chain.
- Specified by:
-
buildEventDispatchChainin interfaceEventTarget - Parameters:
-
tail- the initial chain to build from - Returns:
- the resulting event dispatch chain for this target
addEventHandler
public final <E extends Event> void addEventHandler(EventType<E> eventType, EventHandler<? super E> eventHandler)
EventTarget The handler is called when the target receives an Event of the specified type during the bubbling phase of event delivery.
- Specified by:
-
addEventHandlerin interfaceEventTarget - Type Parameters:
-
E- the event class of the handler - Parameters:
-
eventType- the type of the events received by the handler -
eventHandler- the event handler
removeEventHandler
public final <E extends Event> void removeEventHandler(EventType<E> eventType, EventHandler<? super E> eventHandler)
EventTarget Since it is possible to register a single EventHandler instance for different event types, the caller needs to specify the event type from which the handler should be unregistered.
- Specified by:
-
removeEventHandlerin interfaceEventTarget - Type Parameters:
-
E- the event class of the handler - Parameters:
-
eventType- the event type from which to unregister -
eventHandler- the event handler
addEventFilter
public final <E extends Event> void addEventFilter(EventType<E> eventType, EventHandler<? super E> eventFilter)
EventTarget The filter is called when the target receives an Event of the specified type during the capturing phase of event delivery.
- Specified by:
-
addEventFilterin interfaceEventTarget - Type Parameters:
-
E- the event class of the filter - Parameters:
-
eventType- the type of the events received by the filter -
eventFilter- the event filter
removeEventFilter
public final <E extends Event> void removeEventFilter(EventType<E> eventType, EventHandler<? super E> eventFilter)
EventTarget Since it is possible to register a single EventHandler instance for different event types, the caller needs to specify the event type from which the filter should be unregistered.
- Specified by:
-
removeEventFilterin interfaceEventTarget - Type Parameters:
-
E- the event class of the filter - Parameters:
-
eventType- the event type from which to unregister -
eventFilter- the event filter
setOnShowing
public final void setOnShowing(EventHandler<DialogEvent> value)
onShowing property.- Property description:
- Called just prior to the Dialog being shown.
- Parameters:
-
value- the value for theonShowingproperty - See Also:
getOnShowing
public final EventHandler<DialogEvent> getOnShowing()
onShowing property.- Property description:
- Called just prior to the Dialog being shown.
- Returns:
- the value of the
onShowingproperty - See Also:
onShowingProperty
public final ObjectProperty<EventHandler<DialogEvent>> onShowingProperty()
- Returns:
- the
onShowingproperty - See Also:
setOnShown
public final void setOnShown(EventHandler<DialogEvent> value)
onShown property.- Property description:
- Called just after the Dialog is shown.
- Parameters:
-
value- the value for theonShownproperty - See Also:
getOnShown
public final EventHandler<DialogEvent> getOnShown()
onShown property.- Property description:
- Called just after the Dialog is shown.
- Returns:
- the value of the
onShownproperty - See Also:
onShownProperty
public final ObjectProperty<EventHandler<DialogEvent>> onShownProperty()
- Returns:
- the
onShownproperty - See Also:
setOnHiding
public final void setOnHiding(EventHandler<DialogEvent> value)
onHiding property.- Property description:
- Called just prior to the Dialog being hidden.
- Parameters:
-
value- the value for theonHidingproperty - See Also:
getOnHiding
public final EventHandler<DialogEvent> getOnHiding()
onHiding property.- Property description:
- Called just prior to the Dialog being hidden.
- Returns:
- the value of the
onHidingproperty - See Also:
onHidingProperty
public final ObjectProperty<EventHandler<DialogEvent>> onHidingProperty()
- Returns:
- the
onHidingproperty - See Also:
setOnHidden
public final void setOnHidden(EventHandler<DialogEvent> value)
onHidden property.- Property description:
- Called just after the Dialog has been hidden. When the
Dialogis hidden, this event handler is invoked allowing the developer to clean up resources or perform other tasks when theAlertis closed. - Parameters:
-
value- the value for theonHiddenproperty - See Also:
getOnHidden
public final EventHandler<DialogEvent> getOnHidden()
onHidden property.- Property description:
- Called just after the Dialog has been hidden. When the
Dialogis hidden, this event handler is invoked allowing the developer to clean up resources or perform other tasks when theAlertis closed. - Returns:
- the value of the
onHiddenproperty - See Also:
onHiddenProperty
public final ObjectProperty<EventHandler<DialogEvent>> onHiddenProperty()
Dialog is hidden, this event handler is invoked allowing the developer to clean up resources or perform other tasks when the Alert is closed.- Returns:
- the
onHiddenproperty - See Also:
setOnCloseRequest
public final void setOnCloseRequest(EventHandler<DialogEvent> value)
onCloseRequest property.- Property description:
- Called when there is an external request to close this
Dialog. The installed event handler can prevent dialog closing by consuming the received event. - Parameters:
-
value- the value for theonCloseRequestproperty - See Also:
getOnCloseRequest
public final EventHandler<DialogEvent> getOnCloseRequest()
onCloseRequest property.- Property description:
- Called when there is an external request to close this
Dialog. The installed event handler can prevent dialog closing by consuming the received event. - Returns:
- the value of the
onCloseRequestproperty - See Also:
onCloseRequestProperty
public final ObjectProperty<EventHandler<DialogEvent>> onCloseRequestProperty()
Dialog. The installed event handler can prevent dialog closing by consuming the received event.- Returns:
- the
onCloseRequestproperty - See Also:
© 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.