- java.lang.Object
-
- javafx.scene.control.Dialog<R>
-
- Type Parameters:
R
- The return type of the dialog, via theresult
property.
- All Implemented Interfaces:
EventTarget
- Direct Known Subclasses:
Alert
,ChoiceDialog
,TextInputDialog
public class Dialog<R> extends Object implements EventTarget
A Dialog in JavaFX wraps aDialogPane
and provides the necessary API to present it to end users. In JavaFX 8u40, this essentially means that theDialogPane
is shown to users inside aStage
, 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 fromButtonType
to R, through the use of theresult 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 notVoid
orButtonType
. If this is not heeded, developers will find that they get ClassCastExceptions in their code, for failure to convert fromButtonType
via theresult 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
andChoiceDialog
), 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()
, andgraphicProperty()
, and these properties are simply forwarding API onto the respective properties on theDialogPane
stored in thedialog 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 ofdialog.getDialogPane().setExpandableContent(node)
.After configuring these properties, all that remains is to consider whether the buttons (created using
ButtonType
and theDialogPane.createButton(ButtonType)
method) are fully configured. Developers will quickly find that the amount of configurability offered via theButtonType
class is minimal. This is intentional, but does not mean that developers can not modify the buttons created by theButtonType
that have been specified. To do this, developers simply call theDialogPane.lookupButton(ButtonType)
method with the ButtonType (assuming it has already been set in theDialogPane.getButtonTypes()
list. The returned Node is typically of typeButton
, but this depends on if theDialogPane.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.getDialogPane().getButtonTypes().add(loginButtonType); boolean disabled = false; // computed based on content of text fields, for example dialog.getDialogPane().lookupButton(loginButtonType).setDisable(disabled);
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 callshowAndWait()
orshow()
(respectively). By default most developers should choose to useshowAndWait()
, 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 aButtonType
(that has already been set in thebutton types
list), users will be returned a Node that is typically of typeButton
(but this depends on if theDialogPane.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 byconsuming
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
ButtonType
whoseButtonBar.ButtonData
is of typeButtonBar.ButtonData.CANCEL_CLOSE
. - The button has a
ButtonType
whoseButtonBar.ButtonData
returns 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
DialogPane
area 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
result
property to whatever value is returned from calling theresult converter
with 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
result
property 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:
Alert
,TextInputDialog
,ChoiceDialog
-
-
Property Summary
Properties Type Property Description StringProperty
contentText
A property representing the content text for the dialog pane.ObjectProperty<DialogPane>
dialogPane
The root node of the dialog, theDialogPane
contains all visual elements shown in the dialog.ObjectProperty<Node>
graphic
The dialog graphic, presented either in the header, if one is showing, or to the left of thecontent
.StringProperty
headerText
A property representing the header text for the dialog pane.ReadOnlyDoubleProperty
height
Property representing the height of the dialog.ObjectProperty<EventHandler<DialogEvent>>
onCloseRequest
Called when there is an external request to close thisDialog
.ObjectProperty<EventHandler<DialogEvent>>
onHidden
Called just after the Dialog has been hidden.ObjectProperty<EventHandler<DialogEvent>>
onHiding
Called just prior to the Dialog being hidden.ObjectProperty<EventHandler<DialogEvent>>
onShowing
Called just prior to the Dialog being shown.ObjectProperty<EventHandler<DialogEvent>>
onShown
Called just after the Dialog is shown.BooleanProperty
resizable
Represents whether the dialog is resizable.ObjectProperty<Callback<ButtonType,R>>
resultConverter
API to convert theButtonType
that the user clicked on into a result that can be returned via theresult
property.ObjectProperty<R>
result
A property representing what has been returned from the dialog.ReadOnlyBooleanProperty
showing
Represents whether the dialog is currently showing.StringProperty
title
Return the titleProperty of the dialog.ReadOnlyDoubleProperty
width
Property representing the width of the dialog.ReadOnlyDoubleProperty
x
The horizontal location of thisDialog
.ReadOnlyDoubleProperty
y
The vertical location of thisDialog
.
-
Constructor Summary
Constructors Constructor Description Dialog()
Creates a dialog without a specified owner.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description EventDispatchChain
buildEventDispatchChain(EventDispatchChain tail)
Construct an event dispatch chain for this target.void
close()
Closes thisDialog
.StringProperty
contentTextProperty()
A property representing the content text for the dialog pane.ObjectProperty<DialogPane>
dialogPaneProperty()
The root node of the dialog, theDialogPane
contains all visual elements shown in the dialog.String
getContentText()
Returns the currently-set content text for this DialogPane.DialogPane
getDialogPane()
Gets the value of the property dialogPane.Node
getGraphic()
Gets the value of the property graphic.String
getHeaderText()
Returns the currently-set header text for this DialogPane.double
getHeight()
Returns the height of the dialog.Modality
getModality()
Retrieves the modality attribute for this dialog.EventHandler<DialogEvent>
getOnCloseRequest()
Gets the value of the property onCloseRequest.EventHandler<DialogEvent>
getOnHidden()
Gets the value of the property onHidden.EventHandler<DialogEvent>
getOnHiding()
Gets the value of the property onHiding.EventHandler<DialogEvent>
getOnShowing()
Gets the value of the property onShowing.EventHandler<DialogEvent>
getOnShown()
Gets the value of the property onShown.Window
getOwner()
Retrieves the owner Window for this dialog, or null for an unowned dialog.R
getResult()
Gets the value of the property result.Callback<ButtonType,R>
getResultConverter()
Gets the value of the property resultConverter.String
getTitle()
Return the title of the dialog.double
getWidth()
Returns the width of the dialog.double
getX()
Gets the value of the property x.double
getY()
Gets the value of the property y.ObjectProperty<Node>
graphicProperty()
The dialog graphic, presented either in the header, if one is showing, or to the left of thecontent
.StringProperty
headerTextProperty()
A property representing the header text for the dialog pane.ReadOnlyDoubleProperty
heightProperty()
Property representing the height of the dialog.void
hide()
Hides thisDialog
.void
initModality(Modality modality)
Specifies the modality for this dialog.void
initOwner(Window window)
Specifies the ownerWindow
for this dialog, or null for a top-level, unowned dialog.void
initStyle(StageStyle style)
Specifies the style for this dialog.boolean
isResizable()
Returns whether or not the dialog is resizable.boolean
isShowing()
Returns whether or not the dialog is showing.ObjectProperty<EventHandler<DialogEvent>>
onCloseRequestProperty()
Called when there is an external request to close thisDialog
.ObjectProperty<EventHandler<DialogEvent>>
onHiddenProperty()
Called just after the Dialog has been hidden.ObjectProperty<EventHandler<DialogEvent>>
onHidingProperty()
Called just prior to the Dialog being hidden.ObjectProperty<EventHandler<DialogEvent>>
onShowingProperty()
Called just prior to the Dialog being shown.ObjectProperty<EventHandler<DialogEvent>>
onShownProperty()
Called just after the Dialog is shown.BooleanProperty
resizableProperty()
Represents whether the dialog is resizable.ObjectProperty<Callback<ButtonType,R>>
resultConverterProperty()
API to convert theButtonType
that the user clicked on into a result that can be returned via theresult
property.ObjectProperty<R>
resultProperty()
A property representing what has been returned from the dialog.void
setContentText(String contentText)
Sets the string to show in the dialog content area.void
setDialogPane(DialogPane value)
Sets the value of the property dialogPane.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 thecontent
.void
setHeaderText(String headerText)
Sets the string to show in the dialog header area.void
setHeight(double height)
Sets the height of the dialog.void
setOnCloseRequest(EventHandler<DialogEvent> value)
Sets the value of the property onCloseRequest.void
setOnHidden(EventHandler<DialogEvent> value)
Sets the value of the property onHidden.void
setOnHiding(EventHandler<DialogEvent> value)
Sets the value of the property onHiding.void
setOnShowing(EventHandler<DialogEvent> value)
Sets the value of the property onShowing.void
setOnShown(EventHandler<DialogEvent> value)
Sets the value of the property onShown.void
setResizable(boolean resizable)
Sets whether the dialog can be resized by the user.void
setResult(R value)
Sets the value of the property result.void
setResultConverter(Callback<ButtonType,R> value)
Sets the value of the property resultConverter.void
setTitle(String title)
Change the Title of the dialog.void
setWidth(double width)
Sets the width of the dialog.void
setX(double x)
Sets the value of the property x.void
setY(double y)
Sets the value of the property y.void
show()
Shows the dialog but does not wait for a user response (in other words, this brings up a non-blocking dialog).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).ReadOnlyBooleanProperty
showingProperty()
Represents whether the dialog is currently showing.StringProperty
titleProperty()
Return the titleProperty of the dialog.ReadOnlyDoubleProperty
widthProperty()
Property representing the width of the dialog.ReadOnlyDoubleProperty
xProperty()
The horizontal location of thisDialog
.ReadOnlyDoubleProperty
yProperty()
The vertical location of thisDialog
.
-
-
-
Property Detail
-
dialogPane
public final ObjectProperty<DialogPane> dialogPaneProperty
The root node of the dialog, theDialogPane
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.- See Also:
getDialogPane()
,setDialogPane(DialogPane)
-
contentText
public final StringProperty contentTextProperty
A property representing the content text for the dialog pane. The content text is lower precedence than thecontent 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.- See Also:
getContentText()
,setContentText(String)
-
headerText
public final StringProperty headerTextProperty
A property representing the header text for the dialog pane. The header text is lower precedence than theheader 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.- See Also:
getHeaderText()
,setHeaderText(String)
-
graphic
public final ObjectProperty<Node> graphicProperty
The dialog graphic, presented either in the header, if one is showing, or to the left of thecontent
.- See Also:
getGraphic()
,setGraphic(Node)
-
result
public final ObjectProperty<R> resultProperty
A property representing what has been returned from the dialog. A result is generated through theresult converter
, which is intended to convert from theButtonType
that the user clicked on into a value of type R. Refer to theDialog
class JavaDoc for more details.- See Also:
getResult()
,setResult(R)
-
resultConverter
public final ObjectProperty<Callback<ButtonType,R>> resultConverterProperty
API to convert theButtonType
that the user clicked on into a result that can be returned via theresult
property. This is necessary asButtonType
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.- See Also:
getResultConverter()
,setResultConverter(Callback)
-
showing
public final ReadOnlyBooleanProperty showingProperty
Represents whether the dialog is currently showing.- See Also:
isShowing()
-
resizable
public final BooleanProperty resizableProperty
Represents whether the dialog is resizable.- See Also:
isResizable()
,setResizable(boolean)
-
width
public final ReadOnlyDoubleProperty widthProperty
Property representing the width of the dialog.- See Also:
getWidth()
,setWidth(double)
-
height
public final ReadOnlyDoubleProperty heightProperty
Property representing the height of the dialog.- See Also:
getHeight()
,setHeight(double)
-
title
public final StringProperty titleProperty
Return the titleProperty of the dialog.- See Also:
getTitle()
,setTitle(String)
-
x
public final ReadOnlyDoubleProperty xProperty
The horizontal location of thisDialog
. Changing this attribute will move theDialog
horizontally.- See Also:
getX()
,setX(double)
-
y
public final ReadOnlyDoubleProperty yProperty
The vertical location of thisDialog
. Changing this attribute will move theDialog
vertically.- See Also:
getY()
,setY(double)
-
onShowing
public final ObjectProperty<EventHandler<DialogEvent>> onShowingProperty
Called just prior to the Dialog being shown.- See Also:
getOnShowing()
,setOnShowing(EventHandler)
-
onShown
public final ObjectProperty<EventHandler<DialogEvent>> onShownProperty
Called just after the Dialog is shown.- See Also:
getOnShown()
,setOnShown(EventHandler)
-
onHiding
public final ObjectProperty<EventHandler<DialogEvent>> onHidingProperty
Called just prior to the Dialog being hidden.- See Also:
getOnHiding()
,setOnHiding(EventHandler)
-
onHidden
public final ObjectProperty<EventHandler<DialogEvent>> onHiddenProperty
Called just after the Dialog has been hidden. When theDialog
is hidden, this event handler is invoked allowing the developer to clean up resources or perform other tasks when theAlert
is closed.- See Also:
getOnHidden()
,setOnHidden(EventHandler)
-
onCloseRequest
public final ObjectProperty<EventHandler<DialogEvent>> onCloseRequestProperty
Called when there is an external request to close thisDialog
. The installed event handler can prevent dialog closing by consuming the received event.
-
-
Method Detail
-
show
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 theresult 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()
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:
- An
Optional
that contains theresult
. Refer to theDialog
class 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()
Closes thisDialog
. This call is equivalent tohide()
.
-
hide
public final void hide()
Hides thisDialog
.
-
initModality
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.- 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()
Retrieves the modality attribute for this dialog.- Returns:
- the modality.
-
initStyle
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.- 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)
Specifies the ownerWindow
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 ownerWindow
for this dialog.- Throws:
IllegalStateException
- if this property is set after the dialog has ever been made visible.
-
getOwner
public final Window getOwner()
Retrieves the owner Window for this dialog, or null for an unowned dialog.- Returns:
- the owner Window.
-
dialogPaneProperty
public final ObjectProperty<DialogPane> dialogPaneProperty()
The root node of the dialog, theDialogPane
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.- See Also:
getDialogPane()
,setDialogPane(DialogPane)
-
getDialogPane
public final DialogPane getDialogPane()
Gets the value of the property dialogPane.- Property description:
- 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.
-
setDialogPane
public final void setDialogPane(DialogPane value)
Sets the value of the property dialogPane.- Property description:
- 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.
-
contentTextProperty
public final StringProperty contentTextProperty()
A property representing the content text for the dialog pane. The content text is lower precedence than thecontent 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.- See Also:
getContentText()
,setContentText(String)
-
getContentText
public final String getContentText()
Returns the currently-set content text for this DialogPane.- Returns:
- the currently-set content text for this DialogPane
-
setContentText
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 thecontent 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()
A property representing the header text for the dialog pane. The header text is lower precedence than theheader 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.- See Also:
getHeaderText()
,setHeaderText(String)
-
getHeaderText
public final String getHeaderText()
Returns the currently-set header text for this DialogPane.- Returns:
- the currently-set header text for this DialogPane
-
setHeaderText
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 theheader 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()
The dialog graphic, presented either in the header, if one is showing, or to the left of thecontent
.- See Also:
getGraphic()
,setGraphic(Node)
-
getGraphic
public final Node getGraphic()
Gets the value of the property graphic.- Property description:
- The dialog graphic, presented either in the header, if one is showing, or
to the left of the
content
.
-
setGraphic
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 thecontent
.- Parameters:
graphic
- The new dialog graphic, or null if no graphic should be shown.
-
resultProperty
public final ObjectProperty<R> resultProperty()
A property representing what has been returned from the dialog. A result is generated through theresult converter
, which is intended to convert from theButtonType
that the user clicked on into a value of type R. Refer to theDialog
class JavaDoc for more details.- See Also:
getResult()
,setResult(R)
-
getResult
public final R getResult()
Gets the value of the property result.- 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 theButtonType
that the user clicked on into a value of type R. Refer to theDialog
class JavaDoc for more details.
-
setResult
public final void setResult(R value)
Sets the value of the property result.- 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 theButtonType
that the user clicked on into a value of type R. Refer to theDialog
class JavaDoc for more details.
-
resultConverterProperty
public final ObjectProperty<Callback<ButtonType,R>> resultConverterProperty()
API to convert theButtonType
that the user clicked on into a result that can be returned via theresult
property. This is necessary asButtonType
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.- See Also:
getResultConverter()
,setResultConverter(Callback)
-
getResultConverter
public final Callback<ButtonType,R> getResultConverter()
Gets the value of the property resultConverter.- Property description:
- API to convert the
ButtonType
that the user clicked on into a result that can be returned via theresult
property. This is necessary asButtonType
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.
-
setResultConverter
public final void setResultConverter(Callback<ButtonType,R> value)
Sets the value of the property resultConverter.- Property description:
- API to convert the
ButtonType
that the user clicked on into a result that can be returned via theresult
property. This is necessary asButtonType
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.
-
showingProperty
public final ReadOnlyBooleanProperty showingProperty()
Represents whether the dialog is currently showing.- See Also:
isShowing()
-
isShowing
public final boolean isShowing()
Returns whether or not the dialog is showing.- Returns:
- true if dialog is showing.
-
resizableProperty
public final BooleanProperty resizableProperty()
Represents whether the dialog is resizable.- See Also:
isResizable()
,setResizable(boolean)
-
isResizable
public final boolean isResizable()
Returns whether or not the dialog is resizable.- Returns:
- true if dialog is resizable.
-
setResizable
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
- true if dialog should be resizable.
-
widthProperty
public final ReadOnlyDoubleProperty widthProperty()
Property representing the width of the dialog.- See Also:
getWidth()
,setWidth(double)
-
getWidth
public final double getWidth()
Returns the width of the dialog.- Returns:
- the width of the dialog
-
setWidth
public final void setWidth(double width)
Sets the width of the dialog.- Parameters:
width
- the width of the dialog
-
heightProperty
public final ReadOnlyDoubleProperty heightProperty()
Property representing the height of the dialog.- See Also:
getHeight()
,setHeight(double)
-
getHeight
public final double getHeight()
Returns the height of the dialog.- Returns:
- the height of the dialog
-
setHeight
public final void setHeight(double height)
Sets the height of the dialog.- Parameters:
height
- the height of the dialog
-
titleProperty
public final StringProperty titleProperty()
Return the titleProperty of the dialog.- See Also:
getTitle()
,setTitle(String)
-
getTitle
public final String getTitle()
Return the title of the dialog.- Returns:
- the title of the dialog
-
setTitle
public final void setTitle(String title)
Change the Title of the dialog.- Parameters:
title
- the Title of the dialog
-
getX
public final double getX()
Gets the value of the property x.- Property description:
- The horizontal location of this
Dialog
. Changing this attribute will move theDialog
horizontally.
-
setX
public final void setX(double x)
Sets the value of the property x.- Property description:
- The horizontal location of this
Dialog
. Changing this attribute will move theDialog
horizontally.
-
xProperty
public final ReadOnlyDoubleProperty xProperty()
The horizontal location of thisDialog
. Changing this attribute will move theDialog
horizontally.- See Also:
getX()
,setX(double)
-
getY
public final double getY()
Gets the value of the property y.- Property description:
- The vertical location of this
Dialog
. Changing this attribute will move theDialog
vertically.
-
setY
public final void setY(double y)
Sets the value of the property y.- Property description:
- The vertical location of this
Dialog
. Changing this attribute will move theDialog
vertically.
-
yProperty
public final ReadOnlyDoubleProperty yProperty()
The vertical location of thisDialog
. Changing this attribute will move theDialog
vertically.- See Also:
getY()
,setY(double)
-
buildEventDispatchChain
public EventDispatchChain buildEventDispatchChain(EventDispatchChain tail)
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 thisEventTarget
. This event target is not automatically added to the chain, so if it wants to process events, it needs to add anEventDispatcher
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:
buildEventDispatchChain
in interfaceEventTarget
- Parameters:
tail
- the initial chain to build from- Returns:
- the resulting event dispatch chain for this target
-
setOnShowing
public final void setOnShowing(EventHandler<DialogEvent> value)
Sets the value of the property onShowing.- Property description:
- Called just prior to the Dialog being shown.
-
getOnShowing
public final EventHandler<DialogEvent> getOnShowing()
Gets the value of the property onShowing.- Property description:
- Called just prior to the Dialog being shown.
-
onShowingProperty
public final ObjectProperty<EventHandler<DialogEvent>> onShowingProperty()
Called just prior to the Dialog being shown.- See Also:
getOnShowing()
,setOnShowing(EventHandler)
-
setOnShown
public final void setOnShown(EventHandler<DialogEvent> value)
Sets the value of the property onShown.- Property description:
- Called just after the Dialog is shown.
-
getOnShown
public final EventHandler<DialogEvent> getOnShown()
Gets the value of the property onShown.- Property description:
- Called just after the Dialog is shown.
-
onShownProperty
public final ObjectProperty<EventHandler<DialogEvent>> onShownProperty()
Called just after the Dialog is shown.- See Also:
getOnShown()
,setOnShown(EventHandler)
-
setOnHiding
public final void setOnHiding(EventHandler<DialogEvent> value)
Sets the value of the property onHiding.- Property description:
- Called just prior to the Dialog being hidden.
-
getOnHiding
public final EventHandler<DialogEvent> getOnHiding()
Gets the value of the property onHiding.- Property description:
- Called just prior to the Dialog being hidden.
-
onHidingProperty
public final ObjectProperty<EventHandler<DialogEvent>> onHidingProperty()
Called just prior to the Dialog being hidden.- See Also:
getOnHiding()
,setOnHiding(EventHandler)
-
setOnHidden
public final void setOnHidden(EventHandler<DialogEvent> value)
Sets the value of the property onHidden.- Property description:
- 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 theAlert
is closed.
-
getOnHidden
public final EventHandler<DialogEvent> getOnHidden()
Gets the value of the property onHidden.- Property description:
- 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 theAlert
is closed.
-
onHiddenProperty
public final ObjectProperty<EventHandler<DialogEvent>> onHiddenProperty()
Called just after the Dialog has been hidden. When theDialog
is hidden, this event handler is invoked allowing the developer to clean up resources or perform other tasks when theAlert
is closed.- See Also:
getOnHidden()
,setOnHidden(EventHandler)
-
setOnCloseRequest
public final void setOnCloseRequest(EventHandler<DialogEvent> value)
Sets the value of the property onCloseRequest.- 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.
-
getOnCloseRequest
public final EventHandler<DialogEvent> getOnCloseRequest()
Gets the value of the property onCloseRequest.- 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.
-
onCloseRequestProperty
public final ObjectProperty<EventHandler<DialogEvent>> onCloseRequestProperty()
Called when there is an external request to close thisDialog
. The installed event handler can prevent dialog closing by consuming the received event.
-
-