Top Description Fields Constructors Methods
javafx.scene.control

public Class Dialog<R>

extends Object
implements EventTarget
Class Inheritance
All Implemented Interfaces
javafx.event.EventTarget
Known Direct Subclasses
javafx.scene.control.TextInputDialog, javafx.scene.control.Alert, javafx.scene.control.ChoiceDialog
Type Parameters
<R>
The return type of the dialog, via the result property.
Imports
java.lang.ref.WeakReference, java.util.Optional, javafx.beans.InvalidationListener, javafx.beans.property.BooleanProperty, .ObjectProperty, .ReadOnlyBooleanProperty, .ReadOnlyDoubleProperty, .SimpleObjectProperty, .StringProperty, javafx.collections.ListChangeListener, javafx.css.PseudoClass, javafx.event.Event, .EventDispatchChain, .EventHandler, .EventTarget, .EventType, javafx.scene.Node, javafx.scene.control.ButtonBar.ButtonData, javafx.stage.Modality, .Stage, .StageStyle, .Window, javafx.util.Callback, com.sun.javafx.event.EventHandlerManager, com.sun.javafx.tk.Toolkit

A Dialog in JavaFX wraps a 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();
Image of the Dialog control

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:

Since
JavaFX 8u40
See Also
Alert, TextInputDialog, ChoiceDialog

Field Summary

Modifier and TypeField and Description
pack-priv final FXDialog
private ObjectProperty<DialogPane>
dialogPane

The root node of the dialog, the DialogPane contains all visual elements shown in the dialog.

private final EventHandlerManager
private static final PseudoClass
private boolean
private static final PseudoClass
private ObjectProperty<EventHandler<DialogEvent>>
onCloseRequest

Called when there is an external request to close this Dialog.

private ObjectProperty<EventHandler<DialogEvent>>
onHidden

Called just after the Dialog has been hidden.

private ObjectProperty<EventHandler<DialogEvent>>
onHiding

Called just prior to the Dialog being hidden.

private ObjectProperty<EventHandler<DialogEvent>>
onShowing

Called just prior to the Dialog being shown.

private ObjectProperty<EventHandler<DialogEvent>>
onShown

Called just after the Dialog is shown.

private final ObjectProperty<Callback<ButtonType, R>>
private final ObjectProperty<R>

Constructor Summary

AccessConstructor and Description
public
Dialog()

Creates a dialog without a specified owner.

Method Summary

Modifier and TypeMethod and Description
public final <E extends Event> void
addEventFilter(EventType<E>
the type of the events received by the filter
eventType
,
EventHandler<? super E>
the event filter
eventFilter
)

Overrides default javafx.event.EventTarget.addEventFilter.

Registers an event filter for this target.

public final <E extends Event> void
addEventHandler(EventType<E>
the type of the events received by the handler
eventType
,
EventHandler<? super E>
the event handler
eventHandler
)

Overrides default javafx.event.EventTarget.addEventHandler.

Registers an event handler for this target.

public EventDispatchChain
buildEventDispatchChain(EventDispatchChain
the initial chain to build from
tail
)

Implements javafx.event.EventTarget.buildEventDispatchChain.

Construct an event dispatch chain for this target.

public final void
close()

Closes this Dialog.

public final StringProperty

Returns:

the property representing the content text for the dialog pane
contentTextProperty
()

A property representing the content text for the dialog pane.

public final ObjectProperty<DialogPane>
public final String

Returns:

the currently-set content text for this DialogPane
getContentText
()

Returns the currently-set content text for this DialogPane.

public final DialogPane
public final Node
public final String

Returns:

the currently-set header text for this DialogPane
getHeaderText
()

Returns the currently-set header text for this DialogPane.

public final double

Returns:

the height of the dialog
getHeight
()

Returns the height of the dialog.

public final Modality

Returns:

the modality.
getModality
()

Retrieves the modality attribute for this dialog.

public final EventHandler<DialogEvent>
public final EventHandler<DialogEvent>
public final EventHandler<DialogEvent>
public final EventHandler<DialogEvent>
public final EventHandler<DialogEvent>
public final Window

Returns:

the owner Window.
getOwner
()

Retrieves the owner Window for this dialog, or null for an unowned dialog.

public final R
public final Callback<ButtonType, R>
public final String

Returns:

the title of the dialog
getTitle
()

Return the title of the dialog.

public final double

Returns:

the width of the dialog
getWidth
()

Returns the width of the dialog.

public final double
getX()

public final double
getY()

public final ObjectProperty<Node>

Returns:

An ObjectProperty wrapping the current graphic.
graphicProperty
()

The dialog graphic, presented either in the header, if one is showing, or to the left of the content.

public final StringProperty

Returns:

a property representing the header text for the dialog pane
headerTextProperty
()

A property representing the header text for the dialog pane.

public final ReadOnlyDoubleProperty

Returns:

the property representing the height of the dialog
heightProperty
()

Property representing the height of the dialog.

public final void
hide()

Hides this Dialog.

public final void
initModality(Modality
the modality for this dialog.
modality
)

Specifies the modality for this dialog.

public final void
initOwner(Window
the owner Window for this dialog.
window
)

Specifies the owner Window for this dialog, or null for a top-level, unowned dialog.

public final void
initStyle(StageStyle
the style for this dialog.
style
)

Specifies the style for this dialog.

public final boolean

Returns:

true if dialog is resizable.
isResizable
()

Returns whether or not the dialog is resizable.

public final boolean

Returns:

true if dialog is showing.
isShowing
()

Returns whether or not the dialog is showing.

public final ObjectProperty<EventHandler<DialogEvent>>
public final ObjectProperty<EventHandler<DialogEvent>>
public final ObjectProperty<EventHandler<DialogEvent>>
public final ObjectProperty<EventHandler<DialogEvent>>
public final ObjectProperty<EventHandler<DialogEvent>>
public final <E extends Event> void
removeEventFilter(EventType<E>
the event type from which to unregister
eventType
,
EventHandler<? super E>
the event filter
eventFilter
)

Overrides default javafx.event.EventTarget.removeEventFilter.

Unregisters a previously registered event filter from this target.

public final <E extends Event> void
removeEventHandler(EventType<E>
the event type from which to unregister
eventType
,
EventHandler<? super E>
the event handler
eventHandler
)

Overrides default javafx.event.EventTarget.removeEventHandler.

Unregisters a previously registered event handler from this target.

public final BooleanProperty

Returns:

the property representing whether the dialog is resizable
resizableProperty
()

Represents whether the dialog is resizable.

public final ObjectProperty<Callback<ButtonType, R>>

Returns:

the API to convert the ButtonType that the user clicked on
resultConverterProperty
()

API to convert the ButtonType that the user clicked on into a result that can be returned via the result property.

public final ObjectProperty<R>

Returns:

a property representing what has been returned from the dialog
resultProperty
()

A property representing what has been returned from the dialog.

public final void
setContentText(String
the string to show in the dialog content area
contentText
)

Sets the string to show in the dialog content area.

public final void
public final void
setGraphic(Node
The new dialog graphic, or null if no graphic should be shown.
graphic
)

Sets the dialog graphic, which will be displayed either in the header, if one is showing, or to the left of the content.

public final void
setHeaderText(String
the string to show in the dialog header area
headerText
)

Sets the string to show in the dialog header area.

public final void
setHeight(double
the height of the dialog
height
)

Sets the height of the dialog.

public final void
public final void
public final void
public final void
public final void
public final void
setResizable(boolean
true if dialog should be resizable.
resizable
)

Sets whether the dialog can be resized by the user.

public final void
setResult(R value)

pack-priv void
setResultAndClose(ButtonType cmd, boolean close)

public final void
public final void
setTitle(String
the Title of the dialog
title
)

Change the Title of the dialog.

public final void
setWidth(double
the width of the dialog
width
)

Sets the width of the dialog.

public final void
setX(double x)

public final void
setY(double y)

public final void
show()

Shows the dialog but does not wait for a user response (in other words, this brings up a non-blocking dialog).

public final Optional<R>

Returns:

An Optional that contains the result. Refer to the Dialog class documentation for more detail.
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).

public final ReadOnlyBooleanProperty

Returns:

the property representing whether the dialog is currently showing
showingProperty
()

Represents whether the dialog is currently showing.

public final StringProperty

Returns:

the titleProperty of the dialog
titleProperty
()

Return the titleProperty of the dialog.

private void
public final ReadOnlyDoubleProperty

Returns:

the property representing the width of the dialog
widthProperty
()

Property representing the width of the dialog.

public final ReadOnlyDoubleProperty

Returns:

the horizontal location of this Dialog
xProperty
()

The horizontal location of this Dialog.

public final ReadOnlyDoubleProperty

Returns:

the vertical location of this Dialog
yProperty
()

The vertical location of this Dialog.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

dialogback to summary
pack-priv final FXDialog dialog
dialogPaneback to summary
private ObjectProperty<DialogPane> dialogPane

The root node of the dialog, the 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.

eventHandlerManagerback to summary
private final EventHandlerManager eventHandlerManager
HEADER_PSEUDO_CLASSback to summary
private static final PseudoClass HEADER_PSEUDO_CLASS
isClosingback to summary
private boolean isClosing
NO_HEADER_PSEUDO_CLASSback to summary
private static final PseudoClass NO_HEADER_PSEUDO_CLASS
onCloseRequestback to summary
private ObjectProperty<EventHandler<DialogEvent>> onCloseRequest

Called when there is an external request to close this Dialog. The installed event handler can prevent dialog closing by consuming the received event.

onHiddenback to summary
private ObjectProperty<EventHandler<DialogEvent>> onHidden

Called just after the Dialog has been hidden. When the Dialog is hidden, this event handler is invoked allowing the developer to clean up resources or perform other tasks when the Alert is closed.

onHidingback to summary
private ObjectProperty<EventHandler<DialogEvent>> onHiding

Called just prior to the Dialog being hidden.

onShowingback to summary
private ObjectProperty<EventHandler<DialogEvent>> onShowing

Called just prior to the Dialog being shown.

onShownback to summary
private ObjectProperty<EventHandler<DialogEvent>> onShown

Called just after the Dialog is shown.

resultConverterPropertyback to summary
private final ObjectProperty<Callback<ButtonType, R>> resultConverterProperty
resultPropertyback to summary
private final ObjectProperty<R> resultProperty

Constructor Detail

Dialogback to summary
public Dialog()

Creates a dialog without a specified owner.

Method Detail

addEventFilterback to summary
public final <E extends Event> void addEventFilter(EventType<E> eventType, EventHandler<? super E> eventFilter)

Overrides default javafx.event.EventTarget.addEventFilter.

Doc from javafx.event.EventTarget.addEventFilter.

Registers an event filter for this target.

The filter is called when the target receives an Event of the specified type during the capturing phase of event delivery.

Parameters
<E>
the event class of the filter
eventType:EventType<E>

the type of the events received by the filter

eventFilter:EventHandler<? super E>

the event filter

Annotations
@Override
addEventHandlerback to summary
public final <E extends Event> void addEventHandler(EventType<E> eventType, EventHandler<? super E> eventHandler)

Overrides default javafx.event.EventTarget.addEventHandler.

Doc from javafx.event.EventTarget.addEventHandler.

Registers an event handler for this target.

The handler is called when the target receives an Event of the specified type during the bubbling phase of event delivery.

Parameters
<E>
the event class of the handler
eventType:EventType<E>

the type of the events received by the handler

eventHandler:EventHandler<? super E>

the event handler

Annotations
@Override
buildEventDispatchChainback to summary
public EventDispatchChain buildEventDispatchChain(EventDispatchChain tail)

Implements javafx.event.EventTarget.buildEventDispatchChain.

Doc from javafx.event.EventTarget.buildEventDispatchChain.

Construct an event dispatch chain for this target. The event dispatch chain contains event dispatchers which might be interested in processing of events targeted at this EventTarget. 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.

Parameters
tail:EventDispatchChain

the initial chain to build from

Returns:EventDispatchChain

the resulting event dispatch chain for this target

Annotations
@Override
closeback to summary
public final void close()

Closes this Dialog. This call is equivalent to hide.

contentTextPropertyback to summary
public final StringProperty contentTextProperty()

A property representing the content text for the dialog pane. The content text is lower precedence than the 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:StringProperty

the property representing the content text for the dialog pane

dialogPanePropertyback to summary
public final ObjectProperty<DialogPane> dialogPaneProperty()
getContentTextback to summary
public final String getContentText()

Returns the currently-set content text for this DialogPane.

Returns:String

the currently-set content text for this DialogPane

getDialogPaneback to summary
public final DialogPane getDialogPane()
getGraphicback to summary
public final Node getGraphic()
getHeaderTextback to summary
public final String getHeaderText()

Returns the currently-set header text for this DialogPane.

Returns:String

the currently-set header text for this DialogPane

getHeightback to summary
public final double getHeight()

Returns the height of the dialog.

Returns:double

the height of the dialog

getModalityback to summary
public final Modality getModality()

Retrieves the modality attribute for this dialog.

Returns:Modality

the modality.

getOnCloseRequestback to summary
public final EventHandler<DialogEvent> getOnCloseRequest()
getOnHiddenback to summary
public final EventHandler<DialogEvent> getOnHidden()
getOnHidingback to summary
public final EventHandler<DialogEvent> getOnHiding()
getOnShowingback to summary
public final EventHandler<DialogEvent> getOnShowing()
getOnShownback to summary
public final EventHandler<DialogEvent> getOnShown()
getOwnerback to summary
public final Window getOwner()

Retrieves the owner Window for this dialog, or null for an unowned dialog.

Returns:Window

the owner Window.

getResultback to summary
public final R getResult()
getResultConverterback to summary
public final Callback<ButtonType, R> getResultConverter()
getTitleback to summary
public final String getTitle()

Return the title of the dialog.

Returns:String

the title of the dialog

getWidthback to summary
public final double getWidth()

Returns the width of the dialog.

Returns:double

the width of the dialog

getXback to summary
public final double getX()
getYback to summary
public final double getY()
graphicPropertyback to summary
public final ObjectProperty<Node> graphicProperty()

The dialog graphic, presented either in the header, if one is showing, or to the left of the content.

Returns:ObjectProperty<Node>

An ObjectProperty wrapping the current graphic.

headerTextPropertyback to summary
public final StringProperty headerTextProperty()

A property representing the header text for the dialog pane. The header text is lower precedence than the 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:StringProperty

a property representing the header text for the dialog pane

heightPropertyback to summary
public final ReadOnlyDoubleProperty heightProperty()

Property representing the height of the dialog.

Returns:ReadOnlyDoubleProperty

the property representing the height of the dialog

hideback to summary
public final void hide()

Hides this Dialog.

initModalityback to summary
public final void initModality(Modality modality)

Specifies the modality for this dialog. This must be done prior to making the dialog visible. The modality is one of: Modality.NONE, Modality.WINDOW_MODAL, or Modality.APPLICATION_MODAL.

Parameters
modality:Modality

the modality for this dialog.

Exceptions
IllegalStateException:
if this property is set after the dialog has ever been made visible.
Default Value
Modality.APPLICATION_MODAL
initOwnerback to summary
public final void initOwner(Window window)

Specifies the owner Window for this dialog, or null for a top-level, unowned dialog. This must be done prior to making the dialog visible.

Parameters
window:Window

the owner Window for this dialog.

Exceptions
IllegalStateException:
if this property is set after the dialog has ever been made visible.
Default Value
null
initStyleback to summary
public final void initStyle(StageStyle style)

Specifies the style for this dialog. This must be done prior to making the dialog visible. The style is one of: StageStyle.DECORATED, StageStyle.UNDECORATED, StageStyle.TRANSPARENT, StageStyle.UTILITY, or StageStyle.UNIFIED.

Parameters
style:StageStyle

the style for this dialog.

Exceptions
IllegalStateException:
if this property is set after the dialog has ever been made visible.
Default Value
StageStyle.DECORATED
isResizableback to summary
public final boolean isResizable()

Returns whether or not the dialog is resizable.

Returns:boolean

true if dialog is resizable.

isShowingback to summary
public final boolean isShowing()

Returns whether or not the dialog is showing.

Returns:boolean

true if dialog is showing.

onCloseRequestPropertyback to summary
public final ObjectProperty<EventHandler<DialogEvent>> onCloseRequestProperty()
onHiddenPropertyback to summary
public final ObjectProperty<EventHandler<DialogEvent>> onHiddenProperty()
onHidingPropertyback to summary
public final ObjectProperty<EventHandler<DialogEvent>> onHidingProperty()
onShowingPropertyback to summary
public final ObjectProperty<EventHandler<DialogEvent>> onShowingProperty()
onShownPropertyback to summary
public final ObjectProperty<EventHandler<DialogEvent>> onShownProperty()
removeEventFilterback to summary
public final <E extends Event> void removeEventFilter(EventType<E> eventType, EventHandler<? super E> eventFilter)

Overrides default javafx.event.EventTarget.removeEventFilter.

Doc from javafx.event.EventTarget.removeEventFilter.

Unregisters a previously registered event filter from this target.

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.

Parameters
<E>
the event class of the filter
eventType:EventType<E>

the event type from which to unregister

eventFilter:EventHandler<? super E>

the event filter

Annotations
@Override
removeEventHandlerback to summary
public final <E extends Event> void removeEventHandler(EventType<E> eventType, EventHandler<? super E> eventHandler)

Overrides default javafx.event.EventTarget.removeEventHandler.

Doc from javafx.event.EventTarget.removeEventHandler.

Unregisters a previously registered event handler from this target.

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.

Parameters
<E>
the event class of the handler
eventType:EventType<E>

the event type from which to unregister

eventHandler:EventHandler<? super E>

the event handler

Annotations
@Override
resizablePropertyback to summary
public final BooleanProperty resizableProperty()

Represents whether the dialog is resizable.

Returns:BooleanProperty

the property representing whether the dialog is resizable

resultConverterPropertyback to summary
public final ObjectProperty<Callback<ButtonType, R>> resultConverterProperty()

API to convert the 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:ObjectProperty<Callback<ButtonType, R>>

the API to convert the ButtonType that the user clicked on

resultPropertyback to summary
public final ObjectProperty<R> resultProperty()

A property representing what has been returned from the dialog. A result is generated through the 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:ObjectProperty<R>

a property representing what has been returned from the dialog

setContentTextback to summary
public final void setContentText(String contentText)

Sets the string to show in the dialog content area. Note that the content text is lower precedence than the 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:String

the string to show in the dialog content area

setDialogPaneback to summary
public final void setDialogPane(DialogPane value)
setGraphicback to summary
public final void setGraphic(Node graphic)

Sets the dialog graphic, which will be displayed either in the header, if one is showing, or to the left of the content.

Parameters
graphic:Node

The new dialog graphic, or null if no graphic should be shown.

setHeaderTextback to summary
public final void setHeaderText(String headerText)

Sets the string to show in the dialog header area. Note that the header text is lower precedence than the 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:String

the string to show in the dialog header area

setHeightback to summary
public final void setHeight(double height)

Sets the height of the dialog.

Parameters
height:double

the height of the dialog

setOnCloseRequestback to summary
public final void setOnCloseRequest(EventHandler<DialogEvent> value)
setOnHiddenback to summary
public final void setOnHidden(EventHandler<DialogEvent> value)
setOnHidingback to summary
public final void setOnHiding(EventHandler<DialogEvent> value)
setOnShowingback to summary
public final void setOnShowing(EventHandler<DialogEvent> value)
setOnShownback to summary
public final void setOnShown(EventHandler<DialogEvent> value)
setResizableback to summary
public final void setResizable(boolean resizable)

Sets whether the dialog can be resized by the user. Resizable dialogs can also be maximized ( maximize button becomes visible)

Parameters
resizable:boolean

true if dialog should be resizable.

setResultback to summary
public final void setResult(R value)
setResultAndCloseback to summary
pack-priv void setResultAndClose(ButtonType cmd, boolean close)
Annotations
@SuppressWarnings:unchecked
setResultConverterback to summary
public final void setResultConverter(Callback<ButtonType, R> value)
setTitleback to summary
public final void setTitle(String title)

Change the Title of the dialog.

Parameters
title:String

the Title of the dialog

setWidthback to summary
public final void setWidth(double width)

Sets the width of the dialog.

Parameters
width:double

the width of the dialog

setXback to summary
public final void setX(double x)
setYback to summary
public final void setY(double y)
showback to summary
public final void show()

Shows the dialog but does not wait for a user response (in other words, this brings up a non-blocking dialog). Users of this API must either poll the result property, or else add a listener to the result property to be informed of when it is set.

Exceptions
IllegalStateException:
if this method is called on a thread other than the JavaFX Application Thread.
showAndWaitback to summary
public 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).

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:Optional<R>

An Optional that contains the result. Refer to the Dialog class documentation for more detail.

Exceptions
IllegalStateException:
  • if this method is called on a thread other than the JavaFX Application Thread.
  • if this method is called during animation or layout processing.
showingPropertyback to summary
public final ReadOnlyBooleanProperty showingProperty()

Represents whether the dialog is currently showing.

Returns:ReadOnlyBooleanProperty

the property representing whether the dialog is currently showing

titlePropertyback to summary
public final StringProperty titleProperty()

Return the titleProperty of the dialog.

Returns:StringProperty

the titleProperty of the dialog

updatePseudoClassStateback to summary
private void updatePseudoClassState()
widthPropertyback to summary
public final ReadOnlyDoubleProperty widthProperty()

Property representing the width of the dialog.

Returns:ReadOnlyDoubleProperty

the property representing the width of the dialog

xPropertyback to summary
public final ReadOnlyDoubleProperty xProperty()

The horizontal location of this Dialog. Changing this attribute will move the Dialog horizontally.

Returns:ReadOnlyDoubleProperty

the horizontal location of this Dialog

yPropertyback to summary
public final ReadOnlyDoubleProperty yProperty()

The vertical location of this Dialog. Changing this attribute will move the Dialog vertically.

Returns:ReadOnlyDoubleProperty

the vertical location of this Dialog