Class Stage
- All Implemented Interfaces:
EventTarget
public class Stage extends Window
Stage class is the top level JavaFX container. The primary Stage is constructed by the platform. Additional Stage objects may be constructed by the application. Stage objects must be constructed and modified on the JavaFX Application Thread.
The JavaFX Application Thread is created as part of the startup process for the JavaFX runtime. See the Application class and the Platform.startup(Runnable) method for more information.
Some Stage properties are read-only, even though they have corresponding set methods, because they can be changed externally by the underlying platform, and therefore must not be bindable. Further, these properties might be ignored on some platforms, depending on whether or not there is a window manager and how it is configured. For example, a platform without a window manager might ignore the iconified property.
Style
A stage has one of the following styles:
-
StageStyle.DECORATED- a stage with a solid white background and platform decorations. -
StageStyle.UNDECORATED- a stage with a solid white background and no decorations. -
StageStyle.TRANSPARENT- a stage with a transparent background and no decorations. -
StageStyle.UTILITY- a stage with a solid white background and minimal platform decorations.
The style must be initialized before the stage is made visible.
On some platforms decorations might not be available. For example, on some mobile or embedded devices. In these cases a request for a DECORATED or UTILITY window will be accepted, but no decorations will be shown.
Owner
A stage can optionally have an owner Window. When a window is a stage's owner, it is said to be the parent of that stage.
Owned Stages are tied to the parent Window. An owned stage will always be on top of its parent window. When a parent window is closed or iconified, then all owned windows will be affected as well. Owned Stages cannot be independantly iconified.
The owner must be initialized before the stage is made visible.
Modality
A stage has one of the following modalities:
-
Modality.NONE- a stage that does not block any other window. -
Modality.WINDOW_MODAL- a stage that blocks input events from being delivered to all windows from its owner (parent) to its root. Its root is the closest ancestor window without an owner. -
Modality.APPLICATION_MODAL- a stage that blocks input events from being delivered to all windows from the same application, except for those from its child hierarchy.
When a window is blocked by a modal stage its Z-order relative to its ancestors is preserved, and it receives no input events and no window activation events, but continues to animate and render normally. Note that showing a modal stage does not necessarily block the caller. The show() method returns immediately regardless of the modality of the stage. Use the showAndWait() method if you need to block the caller until the modal stage is hidden (closed). The modality must be initialized before the stage is made visible.
Example:
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.stage.Stage;
public class HelloWorld extends Application {
@Override public void start(Stage stage) {
Text text = new Text(10, 40, "Hello World!");
text.setFont(new Font(40));
Scene scene = new Scene(new Group(text));
stage.setTitle("Welcome to JavaFX!");
stage.setScene(scene);
stage.sizeToScene();
stage.show();
}
public static void main(String[] args) {
Application.launch(args);
}
}
produces the following on Windows:
produces the following on Mac OSX:
produces the following on Linux:
- Since:
- JavaFX 2.0
Property Summary
| Type | Property | Description |
|---|---|---|
final ReadOnlyBooleanProperty |
alwaysOnTop |
Defines whether this Stage is kept on top of other windows. |
final ObjectProperty<String> |
fullScreenExitHint |
Specifies the text to show when a user enters full screen mode, usually used to indicate the way a user should go about exiting out of full screen mode. |
final ObjectProperty<KeyCombination> |
fullScreenExitKey |
Get the property for the Full Screen exit key combination. |
final ReadOnlyBooleanProperty |
fullScreen |
Specifies whether this Stage should be a full-screen, undecorated window. |
final ReadOnlyBooleanProperty |
iconified |
Defines whether the Stage is iconified or not. |
final DoubleProperty |
maxHeight |
Defines the maximum height of this Stage. |
final ReadOnlyBooleanProperty |
maximized |
Defines whether the Stage is maximized or not. |
final DoubleProperty |
maxWidth |
Defines the maximum width of this Stage. |
final DoubleProperty |
minHeight |
Defines the minimum height of this Stage. |
final DoubleProperty |
minWidth |
Defines the minimum width of this Stage. |
final BooleanProperty |
resizable |
Defines whether the Stage is resizable or not by the user. |
final StringProperty |
title |
Defines the title of the Stage. |
Properties declared in class javafx.stage.Window
eventDispatcher, focused, forceIntegerRenderScale, height, onCloseRequest, onHidden, onHiding, onShowing, onShown, opacity, outputScaleX, outputScaleY, renderScaleX, renderScaleY, scene, showing, width, x, y
Constructor Summary
| Constructor | Description |
|---|---|
Stage() |
Creates a new instance of decorated Stage. |
Stage |
Creates a new instance of Stage. |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
final ReadOnlyBooleanProperty |
alwaysOnTopProperty() |
Defines whether this Stage is kept on top of other windows. |
void |
close() |
Closes this Stage. |
final ObjectProperty<String> |
fullScreenExitHintProperty() |
Specifies the text to show when a user enters full screen mode, usually used to indicate the way a user should go about exiting out of full screen mode. |
final ObjectProperty<KeyCombination> |
fullScreenExitKeyProperty() |
Get the property for the Full Screen exit key combination. |
final ReadOnlyBooleanProperty |
fullScreenProperty() |
Specifies whether this Stage should be a full-screen, undecorated window. |
final String |
getFullScreenExitHint() |
Gets the value of the fullScreenExitHint property. |
final KeyCombination |
getFullScreenExitKeyCombination() |
Get the current sequence used to exit Full Screen mode. |
final ObservableList<Image> |
getIcons() |
Gets the icon images to be used in the window decorations and when minimized. |
final double |
getMaxHeight() |
Gets the value of the maxHeight property. |
final double |
getMaxWidth() |
Gets the value of the maxWidth property. |
final double |
getMinHeight() |
Gets the value of the minHeight property. |
final double |
getMinWidth() |
Gets the value of the minWidth property. |
final Modality |
getModality() |
Retrieves the modality attribute for this stage. |
final Window |
getOwner() |
Retrieves the owner Window for this stage, or null for an unowned stage. |
final StageStyle |
getStyle() |
Retrieves the style attribute for this stage. |
final String |
getTitle() |
Gets the value of the title property. |
final ReadOnlyBooleanProperty |
iconifiedProperty() |
Defines whether the Stage is iconified or not. |
final void |
initModality |
Specifies the modality for this stage. |
final void |
initOwner |
Specifies the owner Window for this stage, or null for a top-level, unowned stage. |
final void |
initStyle |
Specifies the style for this stage. |
final boolean |
isAlwaysOnTop() |
Gets the value of the alwaysOnTop property. |
final boolean |
isFullScreen() |
Gets the value of the fullScreen property. |
final boolean |
isIconified() |
Gets the value of the iconified property. |
final boolean |
isMaximized() |
Gets the value of the maximized property. |
final boolean |
isResizable() |
Gets the value of the resizable property. |
final DoubleProperty |
maxHeightProperty() |
Defines the maximum height of this Stage. |
final ReadOnlyBooleanProperty |
maximizedProperty() |
Defines whether the Stage is maximized or not. |
final DoubleProperty |
maxWidthProperty() |
Defines the maximum width of this Stage. |
final DoubleProperty |
minHeightProperty() |
Defines the minimum height of this Stage. |
final DoubleProperty |
minWidthProperty() |
Defines the minimum width of this Stage. |
final BooleanProperty |
resizableProperty() |
Defines whether the Stage is resizable or not by the user. |
final void |
setAlwaysOnTop |
Sets the value of the alwaysOnTop property. |
final void |
setFullScreen |
Sets the value of the fullScreen property. |
final void |
setFullScreenExitHint |
Sets the value of the fullScreenExitHint property. |
final void |
setFullScreenExitKeyCombination |
Specifies the KeyCombination that will allow the user to exit full screen mode. |
final void |
setIconified |
Sets the value of the iconified property. |
final void |
setMaxHeight |
Sets the value of the maxHeight property. |
final void |
setMaximized |
Sets the value of the maximized property. |
final void |
setMaxWidth |
Sets the value of the maxWidth property. |
final void |
setMinHeight |
Sets the value of the minHeight property. |
final void |
setMinWidth |
Sets the value of the minWidth property. |
final void |
setResizable |
Sets the value of the resizable property. |
final void |
setScene |
Specify the scene to be used on this stage. |
final void |
setTitle |
Sets the value of the title property. |
final void |
show() |
Attempts to show this Window by setting visibility to true |
void |
showAndWait() |
Shows this stage and waits for it to be hidden (closed) before returning to the caller. |
final StringProperty |
titleProperty() |
Defines the title of the Stage. |
void |
toBack() |
Sends this Stage to the back if the stage is visible. |
void |
toFront() |
Brings this Stage to the front if the stage is visible. |
Methods declared in class javafx.stage.Window
addEventFilter, addEventHandler, buildEventDispatchChain, centerOnScreen, eventDispatcherProperty, fireEvent, focusedProperty, forceIntegerRenderScaleProperty, getEventDispatcher, getHeight, getOnCloseRequest, getOnHidden, getOnHiding, getOnShowing, getOnShown, getOpacity, getOutputScaleX, getOutputScaleY, getProperties, getRenderScaleX, getRenderScaleY, getScene, getUserData, getWidth, getWindows, getX, getY, hasProperties, heightProperty, hide, isFocused, isForceIntegerRenderScale, isShowing, onCloseRequestProperty, onHiddenProperty, onHidingProperty, onShowingProperty, onShownProperty, opacityProperty, outputScaleXProperty, outputScaleYProperty, removeEventFilter, removeEventHandler, renderScaleXProperty, renderScaleYProperty, requestFocus, sceneProperty, setEventDispatcher, setEventHandler, setForceIntegerRenderScale, setHeight, setOnCloseRequest, setOnHidden, setOnHiding, setOnShowing, setOnShown, setOpacity, setRenderScaleX, setRenderScaleY, setUserData, setWidth, setX, setY, showingProperty, sizeToScene, widthProperty, xProperty, yProperty
Property Details
fullScreen
public final ReadOnlyBooleanProperty fullScreenProperty
Stage should be a full-screen, undecorated window. The implementation of full-screen mode is platform and profile-dependent.
When set to true, the Stage will attempt to enter full-screen mode when visible. Set to false to return Stage to windowed mode. An IllegalStateException is thrown if this property is set on a thread other than the JavaFX Application Thread.
The full-screen mode will be exited (and the fullScreen attribute will be set to false) if the full-screen Stage loses focus or if another Stage enters full-screen mode on the same Screen. Note that a Stage in full-screen mode can become invisible without losing its full-screen status and will again enter full-screen mode when the Stage becomes visible.
Screen the Stage will enter full-screen mode on by setting its position to be within the bounds of that Screen prior to entering full-screen mode. However once in full-screen mode, Stage's x, y, width, and height variables will continue to represent the non-full-screen position and size of the window; the same for iconified, resizable, style, and
opacity. If changes are made to any of these attributes while in full-screen mode, upon exiting full-screen mode the Stage will assume those attributes.
In case that more Stage modes are set simultaneously their order of importance is iconified, fullScreen, maximized (from strongest to weakest).
This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.
The user can unconditionally exit full-screen mode at any time by pressingESC. If a security manager is present, the application must have the FXPermission "unrestrictedFullScreen" in order to enter full-screen mode with no restrictions. Applications without permission will have the following restrictions:
- Applications can only enter full-screen mode in response to user input. More specifically, entering is allowed from mouse (
Node.mousePressed/mouseReleased/mouseClicked) or keyboard (Node.keyPressed/keyReleased/keyTyped) event handlers. It is not allowed to enter full-screen mode in response toESCkey. Attempting to enter full-screen mode from any other context will be ignored.If
Stagewas constructed as full-screen but not visible it will enter full-screen mode upon becoming visible, with the same limitations to when this is allowed to happen as when settingfullScreentotrue. - If the application was allowed to enter full-screen mode it will have limited keyboard input. It will only receive KEY_PRESSED and KEY_RELEASED events from the following keys:
UP, DOWN, LEFT, RIGHT, SPACE, TAB, PAGE_UP, PAGE_DOWN, HOME, END, ENTER
- Default value:
- false
- See Also:
title
public final StringProperty titleProperty
Stage.- Default value:
- empty string
- See Also:
iconified
public final ReadOnlyBooleanProperty iconifiedProperty
Stage is iconified or not. In case that more Stage modes are set simultaneously their order of importance is iconified} fullScreen, maximized (from strongest to weakest).
On some mobile and embedded platforms setting this property to true will hide the Stage but not show an icon for it.
This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.
- Default value:
- false
- See Also:
maximized
public final ReadOnlyBooleanProperty maximizedProperty
Stage is maximized or not. In case that more Stage modes are set simultaneously their order of importance is iconified, fullScreen, maximized (from strongest to weakest).
This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.
- Default value:
- false
- Since:
- JavaFX 8.0
- See Also:
alwaysOnTop
public final ReadOnlyBooleanProperty alwaysOnTopProperty
Stage is kept on top of other windows. If some other window is already always-on-top then the relative order between these windows is unspecified (depends on platform).
If a security manager is present, the application must have the FXPermission "setWindowAlwaysOnTop" in order for this property to have any effect. If the application does not have permission, attempting to set this property will be ignored and the property value will be restored to false.
This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.
- Default value:
- false
- Since:
- JavaFX 8u20
- See Also:
resizable
public final BooleanProperty resizableProperty
Stage is resizable or not by the user. Programatically you may still change the size of the Stage. This is a hint which allows the implementation to optionally make the Stage resizable by the user. Warning: Since 8.0 the property cannot be bound and will throw RuntimeException on an attempt to do so. This is because the setting of resizable is asynchronous on some systems or generally might be set by the system / window manager.
Bidirectional binds are still allowed, as they don't block setting of the property by the system.
- Default value:
- true
- See Also:
minWidth
public final DoubleProperty minWidthProperty
Stage.- Default value:
- 0
- Since:
- JavaFX 2.1
- See Also:
minHeight
public final DoubleProperty minHeightProperty
Stage.- Default value:
- 0
- Since:
- JavaFX 2.1
- See Also:
maxWidth
public final DoubleProperty maxWidthProperty
Stage.- Default value:
- Double.MAX_VALUE
- Since:
- JavaFX 2.1
- See Also:
maxHeight
public final DoubleProperty maxHeightProperty
Stage.- Default value:
- Double.MAX_VALUE
- Since:
- JavaFX 2.1
- See Also:
fullScreenExitKey
public final ObjectProperty<KeyCombination> fullScreenExitKeyProperty
- Since:
- JavaFX 8.0
- See Also:
fullScreenExitHint
public final ObjectProperty<String> fullScreenExitHintProperty
If a security manager is present, the application must have the FXPermission "unrestrictedFullScreen" to modify the exit hint. If the application does not have permission, the value of this property will be ignored, in which case the default message will be displayed.
- Since:
- JavaFX 8.0
- See Also:
Constructor Details
Stage
public Stage()
Stage.- Throws:
-
IllegalStateException- if this constructor is called on a thread other than the JavaFX Application Thread.
Stage
public Stage(StageStyle style)
Stage.- Parameters:
-
style- The style of theStage - Throws:
-
IllegalStateException- if this constructor is called on a thread other than the JavaFX Application Thread.
Method Details
setScene
public final void setScene(Scene value)
- Overrides:
-
setScenein classWindow - Parameters:
-
value- the value for thesceneproperty - See Also:
show
public final void show()
- Overrides:
-
showin classWindow
showAndWait
public void showAndWait()
A Stage is hidden (closed) by one of the following means:
- the application calls the
Window.hide()orclose()method on this stage - this stage has a non-null owner window, and its owner is closed
- the user closes the window via the window system (for example, by pressing the close button in the window decoration)
After the Stage is hidden, and the application has returned from the event handler to the event loop, the nested event loop terminates and this method returns to the caller.
For example, consider the following sequence of operations for different event handlers, assumed to execute in the order shown below:
void evtHander1(...) {
stage1.showAndWait();
doSomethingAfterStage1Closed(...)
}
void evtHander2(...) {
stage1.hide();
doSomethingElseHere(...)
} evtHandler1 will block at the call to showAndWait. It will resume execution after stage1 is hidden and the current event handler, in this case evtHandler2, returns to the event loop. This means that doSomethingElseHere will execute before doSomethingAfterStage1Closed. More than one stage may be shown with showAndWait. Each call will start a new nested event loop. The stages may be hidden in any order, but a particular nested event loop (and thus the showAndWait method for the associated stage) will only terminate after all inner event loops have also terminated.
For example, consider the following sequence of operations for different event handlers, assumed to execute in the order shown below:
void evtHander1() {
stage1.showAndWait();
doSomethingAfterStage1Closed(...)
}
void evtHander2() {
stage2.showAndWait();
doSomethingAfterStage2Closed(...)
}
void evtHander3() {
stage1.hide();
doSomethingElseHere(...)
}
void evtHander4() {
stage2.hide();
doSomethingElseHereToo(...)
} evtHandler1 will block at the call to stage1.showAndWait, starting up a nested event loop just like in the previous example. evtHandler2 will then block at the call to stage2.showAndWait, starting up another (inner) nested event loop. The first call to stage1.showAndWait will resume execution after stage1 is hidden, but only after the inner nested event loop started by stage2.showAndWait has terminated. This means that the call to stage1.showAndWait won't return until after evtHandler2 has returned. The order of execution is: stage1.showAndWait, stage2.showAndWait, stage1.hide, doSomethingElseHere, stage2.hide, doSomethingElseHereToo, doSomethingAfterStage2Closed, doSomethingAfterStage1Closed. This method must not be called on the primary stage or on a stage that is already visible. 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.
- 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. -
IllegalStateException- if this method is called on the primary stage. -
IllegalStateException- if this stage is already showing. - Since:
- JavaFX 2.2
initStyle
public final void initStyle(StageStyle style)
- Default value:
- StageStyle.DECORATED
- Parameters:
-
style- the style for this stage. - Throws:
-
IllegalStateException- if this property is set after the stage has ever been made visible.
getStyle
public final StageStyle getStyle()
- Returns:
- the stage style.
initModality
public final void initModality(Modality modality)
- Default value:
- Modality.NONE
- Parameters:
-
modality- the modality for this stage. - Throws:
-
IllegalStateException- if this property is set after the stage has ever been made visible. -
IllegalStateException- if this stage is the primary stage.
getModality
public final Modality getModality()
- Returns:
- the modality.
initOwner
public final void initOwner(Window owner)
- Default value:
- null
- Parameters:
-
owner- the owner for this stage. - Throws:
-
IllegalStateException- if this property is set after the stage has ever been made visible. -
IllegalStateException- if this stage is the primary stage.
getOwner
public final Window getOwner()
- Returns:
- the owner Window.
setFullScreen
public final void setFullScreen(boolean value)
fullScreen property.- Property description:
- Specifies whether this
Stageshould be a full-screen, undecorated window.The implementation of full-screen mode is platform and profile-dependent.
When set to
true, theStagewill attempt to enter full-screen mode when visible. Set tofalseto returnStageto windowed mode. AnIllegalStateExceptionis thrown if this property is set on a thread other than the JavaFX Application Thread.The full-screen mode will be exited (and the
If the platform supports multiple screens an application can control whichfullScreenattribute will be set tofalse) if the full-screenStageloses focus or if anotherStageenters full-screen mode on the sameScreen. Note that aStagein full-screen mode can become invisible without losing its full-screen status and will again enter full-screen mode when theStagebecomes visible.Screenthe Stage will enter full-screen mode on by setting its position to be within the bounds of thatScreenprior to entering full-screen mode.However once in full-screen mode,
Stage'sx,y,width, andheightvariables will continue to represent the non-full-screen position and size of the window; the same foriconified,resizable,style, andopacity. If changes are made to any of these attributes while in full-screen mode, upon exiting full-screen mode theStagewill assume those attributes.In case that more
Stagemodes are set simultaneously their order of importance isiconified, fullScreen,maximized(from strongest to weakest).This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.
The user can unconditionally exit full-screen mode at any time by pressingESC.If a security manager is present, the application must have the
FXPermission"unrestrictedFullScreen" in order to enter full-screen mode with no restrictions. Applications without permission will have the following restrictions:- Applications can only enter full-screen mode in response to user input. More specifically, entering is allowed from mouse (
Node.mousePressed/mouseReleased/mouseClicked) or keyboard (Node.keyPressed/keyReleased/keyTyped) event handlers. It is not allowed to enter full-screen mode in response toESCkey. Attempting to enter full-screen mode from any other context will be ignored.If
Stagewas constructed as full-screen but not visible it will enter full-screen mode upon becoming visible, with the same limitations to when this is allowed to happen as when settingfullScreentotrue. - If the application was allowed to enter full-screen mode it will have limited keyboard input. It will only receive KEY_PRESSED and KEY_RELEASED events from the following keys:
UP, DOWN, LEFT, RIGHT, SPACE, TAB, PAGE_UP, PAGE_DOWN, HOME, END, ENTER
- Applications can only enter full-screen mode in response to user input. More specifically, entering is allowed from mouse (
- Default value:
- false
- Parameters:
-
value- the value for thefullScreenproperty - See Also:
isFullScreen
public final boolean isFullScreen()
fullScreen property.- Property description:
- Specifies whether this
Stageshould be a full-screen, undecorated window.The implementation of full-screen mode is platform and profile-dependent.
When set to
true, theStagewill attempt to enter full-screen mode when visible. Set tofalseto returnStageto windowed mode. AnIllegalStateExceptionis thrown if this property is set on a thread other than the JavaFX Application Thread.The full-screen mode will be exited (and the
If the platform supports multiple screens an application can control whichfullScreenattribute will be set tofalse) if the full-screenStageloses focus or if anotherStageenters full-screen mode on the sameScreen. Note that aStagein full-screen mode can become invisible without losing its full-screen status and will again enter full-screen mode when theStagebecomes visible.Screenthe Stage will enter full-screen mode on by setting its position to be within the bounds of thatScreenprior to entering full-screen mode.However once in full-screen mode,
Stage'sx,y,width, andheightvariables will continue to represent the non-full-screen position and size of the window; the same foriconified,resizable,style, andopacity. If changes are made to any of these attributes while in full-screen mode, upon exiting full-screen mode theStagewill assume those attributes.In case that more
Stagemodes are set simultaneously their order of importance isiconified, fullScreen,maximized(from strongest to weakest).This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.
The user can unconditionally exit full-screen mode at any time by pressingESC.If a security manager is present, the application must have the
FXPermission"unrestrictedFullScreen" in order to enter full-screen mode with no restrictions. Applications without permission will have the following restrictions:- Applications can only enter full-screen mode in response to user input. More specifically, entering is allowed from mouse (
Node.mousePressed/mouseReleased/mouseClicked) or keyboard (Node.keyPressed/keyReleased/keyTyped) event handlers. It is not allowed to enter full-screen mode in response toESCkey. Attempting to enter full-screen mode from any other context will be ignored.If
Stagewas constructed as full-screen but not visible it will enter full-screen mode upon becoming visible, with the same limitations to when this is allowed to happen as when settingfullScreentotrue. - If the application was allowed to enter full-screen mode it will have limited keyboard input. It will only receive KEY_PRESSED and KEY_RELEASED events from the following keys:
UP, DOWN, LEFT, RIGHT, SPACE, TAB, PAGE_UP, PAGE_DOWN, HOME, END, ENTER
- Applications can only enter full-screen mode in response to user input. More specifically, entering is allowed from mouse (
- Default value:
- false
- Returns:
- the value of the
fullScreenproperty - See Also:
fullScreenProperty
public final ReadOnlyBooleanProperty fullScreenProperty()
Stage should be a full-screen, undecorated window. The implementation of full-screen mode is platform and profile-dependent.
When set to true, the Stage will attempt to enter full-screen mode when visible. Set to false to return Stage to windowed mode. An IllegalStateException is thrown if this property is set on a thread other than the JavaFX Application Thread.
The full-screen mode will be exited (and the fullScreen attribute will be set to false) if the full-screen Stage loses focus or if another Stage enters full-screen mode on the same Screen. Note that a Stage in full-screen mode can become invisible without losing its full-screen status and will again enter full-screen mode when the Stage becomes visible.
Screen the Stage will enter full-screen mode on by setting its position to be within the bounds of that Screen prior to entering full-screen mode. However once in full-screen mode, Stage's x, y, width, and height variables will continue to represent the non-full-screen position and size of the window; the same for iconified, resizable, style, and
opacity. If changes are made to any of these attributes while in full-screen mode, upon exiting full-screen mode the Stage will assume those attributes.
In case that more Stage modes are set simultaneously their order of importance is iconified, fullScreen, maximized (from strongest to weakest).
This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.
The user can unconditionally exit full-screen mode at any time by pressingESC. If a security manager is present, the application must have the FXPermission "unrestrictedFullScreen" in order to enter full-screen mode with no restrictions. Applications without permission will have the following restrictions:
- Applications can only enter full-screen mode in response to user input. More specifically, entering is allowed from mouse (
Node.mousePressed/mouseReleased/mouseClicked) or keyboard (Node.keyPressed/keyReleased/keyTyped) event handlers. It is not allowed to enter full-screen mode in response toESCkey. Attempting to enter full-screen mode from any other context will be ignored.If
Stagewas constructed as full-screen but not visible it will enter full-screen mode upon becoming visible, with the same limitations to when this is allowed to happen as when settingfullScreentotrue. - If the application was allowed to enter full-screen mode it will have limited keyboard input. It will only receive KEY_PRESSED and KEY_RELEASED events from the following keys:
UP, DOWN, LEFT, RIGHT, SPACE, TAB, PAGE_UP, PAGE_DOWN, HOME, END, ENTER
- Default value:
- false
- Returns:
- the
fullScreenproperty - See Also:
getIcons
public final ObservableList<Image> getIcons()
- Returns:
- An observable list of icons of this window
setTitle
public final void setTitle(String value)
title property.- Property description:
- Defines the title of the
Stage. - Default value:
- empty string
- Parameters:
-
value- the value for thetitleproperty - See Also:
getTitle
public final String getTitle()
title property.- Property description:
- Defines the title of the
Stage. - Default value:
- empty string
- Returns:
- the value of the
titleproperty - See Also:
titleProperty
public final StringProperty titleProperty()
Stage.- Default value:
- empty string
- Returns:
- the
titleproperty - See Also:
setIconified
public final void setIconified(boolean value)
iconified property.- Property description:
- Defines whether the
Stageis iconified or not.In case that more
Stagemodes are set simultaneously their order of importance is iconified}fullScreen,maximized(from strongest to weakest).On some mobile and embedded platforms setting this property to true will hide the
Stagebut not show an icon for it.This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.
- Default value:
- false
- Parameters:
-
value- the value for theiconifiedproperty - See Also:
isIconified
public final boolean isIconified()
iconified property.- Property description:
- Defines whether the
Stageis iconified or not.In case that more
Stagemodes are set simultaneously their order of importance is iconified}fullScreen,maximized(from strongest to weakest).On some mobile and embedded platforms setting this property to true will hide the
Stagebut not show an icon for it.This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.
- Default value:
- false
- Returns:
- the value of the
iconifiedproperty - See Also:
iconifiedProperty
public final ReadOnlyBooleanProperty iconifiedProperty()
Stage is iconified or not. In case that more Stage modes are set simultaneously their order of importance is iconified} fullScreen, maximized (from strongest to weakest).
On some mobile and embedded platforms setting this property to true will hide the Stage but not show an icon for it.
This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.
- Default value:
- false
- Returns:
- the
iconifiedproperty - See Also:
setMaximized
public final void setMaximized(boolean value)
maximized property.- Property description:
- Defines whether the
Stageis maximized or not.In case that more
Stagemodes are set simultaneously their order of importance isiconified,fullScreen, maximized (from strongest to weakest).This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.
- Default value:
- false
- Parameters:
-
value- the value for themaximizedproperty - Since:
- JavaFX 8.0
- See Also:
isMaximized
public final boolean isMaximized()
maximized property.- Property description:
- Defines whether the
Stageis maximized or not.In case that more
Stagemodes are set simultaneously their order of importance isiconified,fullScreen, maximized (from strongest to weakest).This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.
- Default value:
- false
- Returns:
- the value of the
maximizedproperty - Since:
- JavaFX 8.0
- See Also:
maximizedProperty
public final ReadOnlyBooleanProperty maximizedProperty()
Stage is maximized or not. In case that more Stage modes are set simultaneously their order of importance is iconified, fullScreen, maximized (from strongest to weakest).
This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.
- Default value:
- false
- Returns:
- the
maximizedproperty - Since:
- JavaFX 8.0
- See Also:
setAlwaysOnTop
public final void setAlwaysOnTop(boolean value)
alwaysOnTop property.- Property description:
- Defines whether this
Stageis kept on top of other windows.If some other window is already always-on-top then the relative order between these windows is unspecified (depends on platform).
If a security manager is present, the application must have the
FXPermission"setWindowAlwaysOnTop" in order for this property to have any effect. If the application does not have permission, attempting to set this property will be ignored and the property value will be restored tofalse.This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.
- Default value:
- false
- Parameters:
-
value- the value for thealwaysOnTopproperty - Since:
- JavaFX 8u20
- See Also:
isAlwaysOnTop
public final boolean isAlwaysOnTop()
alwaysOnTop property.- Property description:
- Defines whether this
Stageis kept on top of other windows.If some other window is already always-on-top then the relative order between these windows is unspecified (depends on platform).
If a security manager is present, the application must have the
FXPermission"setWindowAlwaysOnTop" in order for this property to have any effect. If the application does not have permission, attempting to set this property will be ignored and the property value will be restored tofalse.This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.
- Default value:
- false
- Returns:
- the value of the
alwaysOnTopproperty - Since:
- JavaFX 8u20
- See Also:
alwaysOnTopProperty
public final ReadOnlyBooleanProperty alwaysOnTopProperty()
Stage is kept on top of other windows. If some other window is already always-on-top then the relative order between these windows is unspecified (depends on platform).
If a security manager is present, the application must have the FXPermission "setWindowAlwaysOnTop" in order for this property to have any effect. If the application does not have permission, attempting to set this property will be ignored and the property value will be restored to false.
This property is read-only because it can be changed externally by the underlying platform. Further, setting this property might be ignored on some platforms.
- Default value:
- false
- Returns:
- the
alwaysOnTopproperty - Since:
- JavaFX 8u20
- See Also:
setResizable
public final void setResizable(boolean value)
resizable property.- Property description:
- Defines whether the
Stageis resizable or not by the user. Programatically you may still change the size of the Stage. This is a hint which allows the implementation to optionally make the Stage resizable by the user.Warning: Since 8.0 the property cannot be bound and will throw
RuntimeExceptionon an attempt to do so. This is because the setting of resizable is asynchronous on some systems or generally might be set by the system / window manager.
Bidirectional binds are still allowed, as they don't block setting of the property by the system. - Default value:
- true
- Parameters:
-
value- the value for theresizableproperty - See Also:
isResizable
public final boolean isResizable()
resizable property.- Property description:
- Defines whether the
Stageis resizable or not by the user. Programatically you may still change the size of the Stage. This is a hint which allows the implementation to optionally make the Stage resizable by the user.Warning: Since 8.0 the property cannot be bound and will throw
RuntimeExceptionon an attempt to do so. This is because the setting of resizable is asynchronous on some systems or generally might be set by the system / window manager.
Bidirectional binds are still allowed, as they don't block setting of the property by the system. - Default value:
- true
- Returns:
- the value of the
resizableproperty - See Also:
resizableProperty
public final BooleanProperty resizableProperty()
Stage is resizable or not by the user. Programatically you may still change the size of the Stage. This is a hint which allows the implementation to optionally make the Stage resizable by the user. Warning: Since 8.0 the property cannot be bound and will throw RuntimeException on an attempt to do so. This is because the setting of resizable is asynchronous on some systems or generally might be set by the system / window manager.
Bidirectional binds are still allowed, as they don't block setting of the property by the system.
- Default value:
- true
- Returns:
- the
resizableproperty - See Also:
setMinWidth
public final void setMinWidth(double value)
minWidth property.- Property description:
- Defines the minimum width of this
Stage. - Default value:
- 0
- Parameters:
-
value- the value for theminWidthproperty - Since:
- JavaFX 2.1
- See Also:
getMinWidth
public final double getMinWidth()
minWidth property.- Property description:
- Defines the minimum width of this
Stage. - Default value:
- 0
- Returns:
- the value of the
minWidthproperty - Since:
- JavaFX 2.1
- See Also:
minWidthProperty
public final DoubleProperty minWidthProperty()
Stage.- Default value:
- 0
- Returns:
- the
minWidthproperty - Since:
- JavaFX 2.1
- See Also:
setMinHeight
public final void setMinHeight(double value)
minHeight property.- Property description:
- Defines the minimum height of this
Stage. - Default value:
- 0
- Parameters:
-
value- the value for theminHeightproperty - Since:
- JavaFX 2.1
- See Also:
getMinHeight
public final double getMinHeight()
minHeight property.- Property description:
- Defines the minimum height of this
Stage. - Default value:
- 0
- Returns:
- the value of the
minHeightproperty - Since:
- JavaFX 2.1
- See Also:
minHeightProperty
public final DoubleProperty minHeightProperty()
Stage.- Default value:
- 0
- Returns:
- the
minHeightproperty - Since:
- JavaFX 2.1
- See Also:
setMaxWidth
public final void setMaxWidth(double value)
maxWidth property.- Property description:
- Defines the maximum width of this
Stage. - Default value:
- Double.MAX_VALUE
- Parameters:
-
value- the value for themaxWidthproperty - Since:
- JavaFX 2.1
- See Also:
getMaxWidth
public final double getMaxWidth()
maxWidth property.- Property description:
- Defines the maximum width of this
Stage. - Default value:
- Double.MAX_VALUE
- Returns:
- the value of the
maxWidthproperty - Since:
- JavaFX 2.1
- See Also:
maxWidthProperty
public final DoubleProperty maxWidthProperty()
Stage.- Default value:
- Double.MAX_VALUE
- Returns:
- the
maxWidthproperty - Since:
- JavaFX 2.1
- See Also:
setMaxHeight
public final void setMaxHeight(double value)
maxHeight property.- Property description:
- Defines the maximum height of this
Stage. - Default value:
- Double.MAX_VALUE
- Parameters:
-
value- the value for themaxHeightproperty - Since:
- JavaFX 2.1
- See Also:
getMaxHeight
public final double getMaxHeight()
maxHeight property.- Property description:
- Defines the maximum height of this
Stage. - Default value:
- Double.MAX_VALUE
- Returns:
- the value of the
maxHeightproperty - Since:
- JavaFX 2.1
- See Also:
maxHeightProperty
public final DoubleProperty maxHeightProperty()
Stage.- Default value:
- Double.MAX_VALUE
- Returns:
- the
maxHeightproperty - Since:
- JavaFX 2.1
- See Also:
toFront
public void toFront()
Stage to the front if the stage is visible. This action places this Stage at the top of the stacking order and shows it in front of any other Stage created by this application. Some platforms do not allow applications to control the stacking order at all, in which case this method does nothing. Other platforms have restrictions on stacking order, so might not place a window above another application's windows nor allow a window that owns other windows to appear on top of those owned windows. Every attempt will be made to move this Stage as high as possible in the stacking order; however, developers should not assume that this method will move this Stage above all other windows in every situation.
toBack
public void toBack()
Stage to the back if the stage is visible. This action places this Stage at the bottom of the stacking order and shows it behind any other Stage created by this application. Some platforms do not allow applications to control the stacking order at all, in which case this method does nothing. Other platforms have restrictions on stacking order, so might not place a window below another application's windows nor allow a window that is owned by another window to appear below their owner. Every attempt will be made to move this Stage as low as possible in the stacking order; however, developers should not assume that this method will move this Stage below all other windows in every situation.
close
public void close()
Stage. This call is equivalent to hide().setFullScreenExitKeyCombination
public final void setFullScreenExitKeyCombination(KeyCombination keyCombination)
An internal copy of this value is made when entering full-screen mode and will be used to trigger the exit from the mode. If a security manager is present, the application must have the FXPermission "unrestrictedFullScreen" to modify the exit key combination. If the application does not have permission, the value of this property will be ignored, in which case the default key combination will be used.
- Parameters:
-
keyCombination- the key combination to exit on - Since:
- JavaFX 8.0
getFullScreenExitKeyCombination
public final KeyCombination getFullScreenExitKeyCombination()
- Returns:
- the current setting (null for system default)
- Since:
- JavaFX 8.0
fullScreenExitKeyProperty
public final ObjectProperty<KeyCombination> fullScreenExitKeyProperty()
- Returns:
- the property.
- Since:
- JavaFX 8.0
setFullScreenExitHint
public final void setFullScreenExitHint(String value)
fullScreenExitHint property.- Property description:
- Specifies the text to show when a user enters full screen mode, usually used to indicate the way a user should go about exiting out of full screen mode. A value of null will result in the default per-locale message being displayed. If set to the empty string, then no message will be displayed.
If a security manager is present, the application must have the
FXPermission"unrestrictedFullScreen" to modify the exit hint. If the application does not have permission, the value of this property will be ignored, in which case the default message will be displayed. - Parameters:
-
value- the value for thefullScreenExitHintproperty - Since:
- JavaFX 8.0
- See Also:
getFullScreenExitHint
public final String getFullScreenExitHint()
fullScreenExitHint property.- Property description:
- Specifies the text to show when a user enters full screen mode, usually used to indicate the way a user should go about exiting out of full screen mode. A value of null will result in the default per-locale message being displayed. If set to the empty string, then no message will be displayed.
If a security manager is present, the application must have the
FXPermission"unrestrictedFullScreen" to modify the exit hint. If the application does not have permission, the value of this property will be ignored, in which case the default message will be displayed. - Returns:
- the value of the
fullScreenExitHintproperty - Since:
- JavaFX 8.0
- See Also:
fullScreenExitHintProperty
public final ObjectProperty<String> fullScreenExitHintProperty()
If a security manager is present, the application must have the FXPermission "unrestrictedFullScreen" to modify the exit hint. If the application does not have permission, the value of this property will be ignored, in which case the default message will be displayed.
- Returns:
- the
fullScreenExitHintproperty - Since:
- JavaFX 8.0
- 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.