- java.lang.Object
-
- javafx.stage.Window
-
- javafx.stage.Stage
-
- All Implemented Interfaces:
-
EventTarget
public class Stage extends Window
JavaFXStage
类是顶级的JavaFX容器。 主要阶段由平台构建。 附加阶段对象可以由应用程序构造。必须在JavaFX应用程序线程上构建和修改舞台对象。
JavaFX应用程序线程是作为JavaFX运行时启动过程的一部分而创建的。 有关更多信息,请参阅
Application
类和Platform.startup(Runnable)
方法。许多
Stage
属性是只读的,因为它们可以由底层平台外部更改,因此不能被绑定。样式
舞台有以下风格之一:
-
StageStyle.DECORATED
- 一个坚实的白色背景和平台装饰的舞台。 -
StageStyle.UNDECORATED
- 一个坚实的白色背景,没有装饰的舞台。 -
StageStyle.TRANSPARENT
- 一个透明背景,没有装饰的舞台。 -
StageStyle.UTILITY
- 一个坚实的白色背景和最小平台装饰的舞台。
必须在舞台可见之前对样式进行初始化。
在某些平台上,装饰可能无法使用。 例如,在某些移动或嵌入式设备上。 在这些情况下,将接受对装饰或UTILITY窗口的请求,但不会显示装饰。
所有者
舞台可以选择拥有所有者窗口。 当窗户是舞台的所有者时,它被认为是舞台的父母。
所有阶段与父窗口相关联。 拥有的舞台将永远在其父窗口之上。 当父窗口关闭或图标化时,所有拥有的窗口也将受到影响。 所有阶段不能独立图标化。
所有者必须在舞台可见之前进行初始化。
情态
舞台有以下方式之一:
-
Modality.NONE
- 不阻止任何其他窗口的阶段。 -
Modality.WINDOW_MODAL
- 阻止输入事件从其所有者(父)到其根传送到所有窗口的阶段。 它的根是没有所有者的最接近的祖先窗口。 -
Modality.APPLICATION_MODAL
- 阻止输入事件从同一应用程序传递到所有窗口的阶段,除了来自其子层次结构的窗口。
当一个窗口被模态阶段阻止时,它的Z序相对于它的祖先被保留,并且它没有接收到输入事件和没有窗口激活事件,而是继续动画化并且呈现正常。 请注意,显示模态阶段不一定会阻止来电者。
show()
方法立即返回,无论舞台的形态如何。 如果您需要阻止调用方,直到模态阶段被隐藏(关闭),请使用showAndWait()
方法。 必须在舞台可见之前初始化模态。例:
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); } }
在Windows上生成以下内容:
在Mac OSX上生成以下内容:
在Linux上生成以下内容:
- 从以下版本开始:
- JavaFX 2.0
-
-
Property Summary
Properties Type Property 描述 ReadOnlyBooleanProperty
alwaysOnTop
定义这个Stage
是否保持在其他窗口之上。ObjectProperty<String>
fullScreenExitHint
ObjectProperty<KeyCombination>
fullScreenExitKey
获取全屏幕退出组合键的属性。ReadOnlyBooleanProperty
fullScreen
指定此Stage
是否应为全屏,未装饰的窗口。ReadOnlyBooleanProperty
iconified
定义Stage
是否被图标化。DoubleProperty
maxHeight
定义这个Stage
的最大高度。ReadOnlyBooleanProperty
maximized
定义Stage
是否最大化。DoubleProperty
maxWidth
定义此Stage
的最大宽度。DoubleProperty
minHeight
定义Stage
的最小高度。DoubleProperty
minWidth
定义Stage
的最小宽度。BooleanProperty
resizable
定义用户是否可以调整Stage
的大小。StringProperty
title
定义Stage
的标题。-
Properties inherited from class javafx.stage.Window
eventDispatcher, focused, forceIntegerRenderScale, height, onCloseRequest, onHidden, onHiding, onShowing, onShown, opacity, outputScaleX, outputScaleY, renderScaleX, renderScaleY, scene, showing, width, x, y
-
-
构造方法摘要
构造方法 Constructor 描述 Stage()
创建一个新的装饰实例Stage
。Stage(StageStyle style)
创建一个新的实例Stage
。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 ReadOnlyBooleanProperty
alwaysOnTopProperty()
定义这个Stage
是否保持在其他窗口之上。void
close()
关闭此Stage
。ObjectProperty<String>
fullScreenExitHintProperty()
ObjectProperty<KeyCombination>
fullScreenExitKeyProperty()
获取全屏幕退出组合键的属性。ReadOnlyBooleanProperty
fullScreenProperty()
指定此Stage
应该是全屏,未装饰的窗口。String
getFullScreenExitHint()
获取属性fullScreenExitHint的值。KeyCombination
getFullScreenExitKeyCombination()
获取用于退出全屏模式的当前顺序。ObservableList<Image>
getIcons()
获取窗口装饰中使用的图标图像和最小化时。double
getMaxHeight()
获取属性maxHeight的值。double
getMaxWidth()
获取属性maxWidth的值。double
getMinHeight()
获取属性minHeight的值。double
getMinWidth()
获取属性minWidth的值。Modality
getModality()
检索此阶段的模态属性。Window
getOwner()
检索该阶段的所有者窗口,或者取消未知阶段的空值。StageStyle
getStyle()
检索此阶段的样式属性。String
getTitle()
获取属性标题的值。ReadOnlyBooleanProperty
iconifiedProperty()
定义Stage
是否被图标化。void
initModality(Modality modality)
指定此阶段的模式。void
initOwner(Window owner)
指定此阶段的所有者窗口,或者指定顶级,未知级别的空值。void
initStyle(StageStyle style)
指定此阶段的样式。boolean
isAlwaysOnTop()
获取属性alwaysOnTop的值。boolean
isFullScreen()
获取属性fullScreen的值。boolean
isIconified()
获取图标属性的值。boolean
isMaximized()
获取最大化的属性值。boolean
isResizable()
获取属性可调整大小的值。DoubleProperty
maxHeightProperty()
定义Stage
的最大高度。ReadOnlyBooleanProperty
maximizedProperty()
定义Stage
是否最大化。DoubleProperty
maxWidthProperty()
定义此Stage
的最大宽度。DoubleProperty
minHeightProperty()
定义Stage
的最小高度。DoubleProperty
minWidthProperty()
定义此Stage
的最小宽度。BooleanProperty
resizableProperty()
定义用户是否可以调整Stage
的大小。void
setAlwaysOnTop(boolean value)
设置属性alwaysOnTop的值。void
setFullScreen(boolean value)
设置属性fullScreen的值。void
setFullScreenExitHint(String value)
指定用户进入全屏模式时显示的文字,通常用于指示用户从全屏模式退出的方式。void
setFullScreenExitKeyCombination(KeyCombination keyCombination)
指定将允许用户退出全屏模式的KeyCombination。void
setIconified(boolean value)
设置图标属性的值。void
setMaxHeight(double value)
设置属性maxHeight的值。void
setMaximized(boolean value)
设置最大化的属性的值。void
setMaxWidth(double value)
设置属性maxWidth的值。void
setMinHeight(double value)
设置属性minHeight的值。void
setMinWidth(double value)
设置属性minWidth的值。void
setResizable(boolean value)
设置属性可调整大小的值。void
setScene(Scene value)
指定此舞台上要使用的场景。void
setTitle(String value)
设置属性标题的值。void
show()
尝试通过将可见性设置为true来显示此窗口void
showAndWait()
显示此阶段,并等待它在返回给调用者之前被隐藏(关闭)。StringProperty
titleProperty()
定义Stage
的标题。void
toBack()
发送Window
到背景。void
toFront()
把Window
带到前台。-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from 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 Detail
-
fullScreen
public final ReadOnlyBooleanProperty fullScreenProperty
指定此Stage
应该是全屏,未装饰的窗口。全屏模式的实现是平台和配置文件相关的。
当设置为
true
,Stage
将在可见时尝试进入全屏模式。 设置为false
以返回Stage
到窗口模式。 如果此属性设置在JavaFX应用程序线程之外的线程上,则抛出一个IllegalStateException
。全屏模式将被退出(以及
如果平台支持多个屏幕,应用程序可以fullScreen
属性将被设置为false
)如全屏幕Stage
失去焦点,或者如果另一Stage
进入全屏模式在同一Screen
。 请注意,全屏模式下的Stage
可以看不见,而不会丢失其全屏状态,当Stage
变为可见时,将再次进入全屏模式。Screen
在进入全屏模式之前将其位置设置在Screen
的范围内,控制哪个Screen
舞台进入全屏模式。然而,在全屏模式下一次,
Stage
的x
,y
,width
和height
变量将继续表示窗口的非全屏幕的位置和尺寸; 同为iconified
,resizable
,style
,并opacity
。 如果在全屏模式下更改任何这些属性,则在退出全屏模式时,Stage
将假定这些属性。如果同时设置更多的
Stage
模式,其重要性顺序为iconified
fullScreen,maximized
(从最强到最弱)。该属性是只读的,因为它可以由底层平台外部更改,因此不能绑定。
用户可以随时按ESC
无条件退出全屏模式。如果存在安全管理员,则应用程序必须具有
FXPermission
“无限制FULLScreen ”才能进入全屏模式而无限制。 未经许可的应用程序将受到以下限制:- 应用程序只能进入全屏模式以响应用户输入。 更具体地,允许鼠标(
Node.mousePressed/mouseReleased/mouseClicked
)或键盘(Node.keyPressed/keyReleased/keyTyped
)事件处理程序进行输入。 响应ESC
键,不允许进入全屏模式。 尝试从任何其他上下文进入全屏模式将被忽略。如果
Stage
被构造为全屏但不可见,它将变为可见时将进入全屏模式,同时限制当允许发生这种情况时,将fullScreen
设置为true
。 - 如果应用程序被允许进入全屏模式,它将具有有限的键盘输入。 它将仅从以下密钥接收KEY_PRESSED和KEY_RELEASED事件:
UP, DOWN, LEFT, RIGHT, SPACE, TAB, PAGE_UP, PAGE_DOWN, HOME, END, ENTER
- Default value:
- 假
- 另请参见:
-
isFullScreen()
,setFullScreen(boolean)
- 应用程序只能进入全屏模式以响应用户输入。 更具体地,允许鼠标(
-
title
public final StringProperty titleProperty
定义Stage
的标题。- Default value:
- 空字符串
- 另请参见:
-
getTitle()
,setTitle(String)
-
iconified
public final ReadOnlyBooleanProperty iconifiedProperty
定义Stage
是否被图标化。如果同时设置更多的
Stage
模式,那么它们的重要性顺序是图标fullScreen
;maximized
(从最强到最弱)。在某些移动和嵌入式平台上,将此属性设置为true将隐藏
Stage
但不会显示其图标。该属性是只读的,因为它可以由底层平台外部更改,因此不能绑定。
- Default value:
- 假
- 另请参见:
-
isIconified()
,setIconified(boolean)
-
maximized
public final ReadOnlyBooleanProperty maximizedProperty
定义Stage
是否最大化。在情况下,更多的
Stage
模式同时设置其重要性顺序是iconified
,fullScreen
,最大化(从最强到最弱)。该属性是只读的,因为它可以由底层平台外部更改,因此不能绑定。
- Default value:
- 假
- 从以下版本开始:
- JavaFX 8.0
- 另请参见:
-
isMaximized()
,setMaximized(boolean)
-
alwaysOnTop
public final ReadOnlyBooleanProperty alwaysOnTopProperty
定义这个Stage
是否保持在其他窗口之上。如果某些其他窗口已经始终在顶部,则这些窗口之间的相对顺序是未指定的(取决于平台)。
如果存在安全管理员,则应用程序必须具有
FXPermission
“setWindowAlwaysOnTop”,以使此属性具有任何效果。 如果应用程序没有权限,尝试设置此属性将被忽略,属性值将恢复为false
。该属性是只读的,因为它可以由底层平台外部更改,因此不能绑定。
- Default value:
- 假
- 从以下版本开始:
- JavaFX 8u20
- 另请参见:
-
isAlwaysOnTop()
,setAlwaysOnTop(boolean)
-
resizable
public final BooleanProperty resizableProperty
定义用户是否可以调整Stage
的大小。 您可能仍然以编程方式更改舞台的大小。 这是一个提示,允许实现可选地使用户可以调整舞台。警告:自8.0以来,财产无法束缚,并将扔
RuntimeException
尝试这样做。 这是因为可调整大小的设置在某些系统上是异步的,或者通常可能由系统/窗口管理器设置。
仍然允许双向绑定,因为它们不会阻止系统的属性设置。- Default value:
- 真正
- 另请参见:
-
isResizable()
,setResizable(boolean)
-
minWidth
public final DoubleProperty minWidthProperty
定义这个Stage
的最小宽度。- Default value:
- 0
- 从以下版本开始:
- JavaFX 2.1
- 另请参见:
-
getMinWidth()
,setMinWidth(double)
-
minHeight
public final DoubleProperty minHeightProperty
定义这个Stage
的最小高度。- Default value:
- 0
- 从以下版本开始:
- JavaFX 2.1
- 另请参见:
-
getMinHeight()
,setMinHeight(double)
-
maxWidth
public final DoubleProperty maxWidthProperty
定义此Stage
的最大宽度。- Default value:
- Double.MAX_VALUE
- 从以下版本开始:
- JavaFX 2.1
- 另请参见:
-
getMaxWidth()
,setMaxWidth(double)
-
maxHeight
public final DoubleProperty maxHeightProperty
定义Stage
的最大高度。- Default value:
- Double.MAX_VALUE
- 从以下版本开始:
- JavaFX 2.1
- 另请参见:
-
getMaxHeight()
,setMaxHeight(double)
-
fullScreenExitKey
public final ObjectProperty<KeyCombination> fullScreenExitKeyProperty
获取全屏幕退出组合键的属性。- 从以下版本开始:
- JavaFX 8.0
-
fullScreenExitHint
public final ObjectProperty<String> fullScreenExitHintProperty
-
-
构造方法详细信息
-
Stage
public Stage()
创建一个新的装饰实例Stage
。- 异常
-
IllegalStateException
- 如果在除JavaFX应用程序线程之外的线程上调用此构造函数。
-
Stage
public Stage(StageStyle style)
创建一个新的实例Stage
。- 参数
-
style
- 风格的Stage
- 异常
-
IllegalStateException
- 如果该构造函数在除JavaFX应用程序线程之外的线程上调用。
-
-
方法详细信息
-
showAndWait
public void showAndWait()
显示此阶段,并等待它在返回给调用者之前被隐藏(关闭)。 此方法暂时阻止当前事件的处理,并启动嵌套事件循环来处理其他事件。 必须在FX应用程序线程上调用此方法。通过以下方式之一隐藏(关闭)舞台:
- 该应用程序在此阶段调用
Window.hide()
或close()
方法 - 此阶段具有非空的所有者窗口,其所有者已关闭
- 用户通过窗口系统关闭窗口(例如,通过按下窗口装饰中的关闭按钮)
舞台被隐藏后,应用程序已从事件处理程序返回到事件循环,嵌套事件循环将终止,此方法返回给调用者。
例如,考虑以下不同事件处理程序的以下操作序列,假设执行顺序如下所示:
void evtHander1(...) { stage1.showAndWait(); doSomethingAfterStage1Closed(...) } void evtHander2(...) { stage1.hide(); doSomethingElseHere(...) }
evtHandler1将阻止对showAndWait的调用。 它将在stage1隐藏后继续执行,当前事件处理程序(在本例中为evtHandler2)返回到事件循环。 这意味着doSomethingElseHere将在doSomethingAfterStage1Closed之前执行。showAndWait可能会显示多个舞台。 每次调用都将启动一个新的嵌套事件循环。 阶段可能以任何顺序隐藏,但是特定的嵌套事件循环(因此相关阶段的showAndWait方法)将仅在所有内部事件循环也终止后才会终止。
例如,考虑以下不同事件处理程序的以下操作序列,假设执行顺序如下所示:
void evtHander1() { stage1.showAndWait(); doSomethingAfterStage1Closed(...) } void evtHander2() { stage2.showAndWait(); doSomethingAfterStage2Closed(...) } void evtHander3() { stage1.hide(); doSomethingElseHere(...) } void evtHander4() { stage2.hide(); doSomethingElseHereToo(...) }
evtHandler1将阻止对stage1.showAndWait的调用,启动一个嵌套事件循环,就像上一个例子一样。 evtHandler2将阻塞对stage2.showAndWait的调用,启动另一个(内部)嵌套事件循环。 第一次调用stage1.showAndWait将在stage1隐藏后继续执行,但只有在stage2.showAndWait已经终止的内部嵌套事件循环之后才能继续执行。 这意味着在evtHandler2返回之后,对stage1.showAndWait的调用将不会返回。 执行顺序是:stage1.showAndWait,stage2.showAndWait,stage1.hide,doSomethingElseHere,stage2.hide,doSomethingElseHereToo,doSomethingAfterStage2Closed,doSomethingAfterStage1Closed。不能在主阶段或已经可见的阶段调用此方法。 另外,它必须从输入事件处理程序或从Runnable的run方法调用传递给
Platform.runLater
。 在动画或布局处理过程中不得调用它。- 异常
-
IllegalStateException
- 如果在除JavaFX应用程序线程之外的线程上调用此方法。 -
IllegalStateException
- 如果在动画或布局处理期间调用此方法。 -
IllegalStateException
- 如果在初级阶段调用此方法。 -
IllegalStateException
- 如果这个阶段已经显示。 - 从以下版本开始:
- JavaFX 2.2
- 该应用程序在此阶段调用
-
initStyle
public final void initStyle(StageStyle style)
指定此阶段的样式。 这必须在使舞台可见之前完成。 风格是以下之一:StageStyle.DECORATED,StageStyle.UNDECORATED,StageStyle.TRANSPARENT或StageStyle.UTILITY。- Default value:
- StageStyle.DECORATED
- 参数
-
style
- 这个阶段的风格。 - 异常
-
IllegalStateException
- 如果在舞台已经可见之后设置了此属性。
-
getStyle
public final StageStyle getStyle()
检索此阶段的样式属性。- 结果
- 舞台风格。
-
initModality
public final void initModality(Modality modality)
指定此阶段的模式。 这必须在使舞台可见之前完成。 模态是以下之一:Modality.NONE,Modality.WINDOW_MODAL或Modality.APPLICATION_MODAL。- Default value:
- Modality.NONE
- 参数
-
modality
- 这个阶段的模式。 - 异常
-
IllegalStateException
- 如果此属性在舞台已显示后设置。 -
IllegalStateException
- 如果这个阶段是初级阶段。
-
getModality
public final Modality getModality()
检索此阶段的模态属性。- 结果
- 的模式。
-
initOwner
public final void initOwner(Window owner)
指定此阶段的所有者窗口,或者指定顶级,未知级别的空值。 这必须在使舞台可见之前完成。- Default value:
- 空值
- 参数
-
owner
- 这个阶段的主人。 - 异常
-
IllegalStateException
- 如果此属性在舞台已显示后设置。 -
IllegalStateException
- 如果这个阶段是初级阶段。
-
getOwner
public final Window getOwner()
检索该阶段的所有者窗口,或者取消未知阶段的空值。- 结果
- 所有者窗口。
-
setFullScreen
public final void setFullScreen(boolean value)
设置属性fullScreen的值。- Property description:
-
指定此
Stage
是否应为全屏,未装饰的窗口。全屏模式的实现是平台和配置文件相关的。
当设置为
true
,Stage
将在可见时尝试进入全屏模式。 设置为false
以将Stage
返回到窗口模式。 如果此属性设置在JavaFX应用程序线程之外的线程上,则抛出一个IllegalStateException
。全屏模式将被退出(以及
如果平台支持多个屏幕,应用程序可以fullScreen
属性将被设置为false
)如全屏幕Stage
失去焦点,或者如果另一Stage
进入全屏模式在同一Screen
。 请注意,全屏模式下的Stage
在不失去全屏状态的情况下变为不可见,并且当Stage
变为可见时将再次进入全屏模式。Screen
在进入全屏模式之前将其位置设置在Screen
的范围内来控制哪个Screen
舞台将进入全屏模式。然而,在全屏模式下一次,
Stage
的x
,y
,width
和height
变量将继续表示窗口的非全屏幕的位置和尺寸; 同为iconified
,resizable
,style
,并opacity
。 如果在全屏模式下更改任何这些属性,则在退出全屏模式时,Stage
将假定这些属性。如果同时设置更多的
Stage
模式,它们的重要性顺序为iconified
fullScreen,maximized
(从最强到最弱)。该属性是只读的,因为它可以由底层平台外部更改,因此不能绑定。
用户可以随时按ESC
无条件退出全屏模式。如果存在安全管理员,则应用程序必须具有
FXPermission
“无限制FULLScreen ”才能进入全屏模式而无限制。 未经许可的应用程序将受到以下限制:- 应用程序只能进入全屏模式以响应用户输入。 更具体地说,从鼠标(
Node.mousePressed/mouseReleased/mouseClicked
)或键盘(Node.keyPressed/keyReleased/keyTyped
)事件处理程序允许输入。 响应ESC
键,不允许进入全屏模式。 尝试从任何其他上下文进入全屏模式将被忽略。如果
Stage
被构造为全屏但不可见,则在可见时将进入全屏模式,同时限制当允许发生这种情况时,将fullScreen
设置为true
。 - 如果应用程序被允许进入全屏模式,它将具有有限的键盘输入。 它将仅从以下键接收KEY_PRESSED和KEY_RELEASED事件:
UP, DOWN, LEFT, RIGHT, SPACE, TAB, PAGE_UP, PAGE_DOWN, HOME, END, ENTER
- 应用程序只能进入全屏模式以响应用户输入。 更具体地说,从鼠标(
- Default value:
- 假
-
isFullScreen
public final boolean isFullScreen()
获取属性fullScreen的值。- Property description:
-
指定此
Stage
是否应为全屏,未装饰的窗口。全屏模式的实现是平台和配置文件相关的。
当设置为
true
,Stage
将在可见时尝试进入全屏模式。 设置为false
以返回Stage
到窗口模式。 如果此属性设置在JavaFX应用程序线程之外的线程上,则抛出一个IllegalStateException
。全屏模式将被退出(以及
如果平台支持多个屏幕,应用程序可以fullScreen
属性将被设置为false
)如全屏幕Stage
失去焦点,或者如果另一Stage
进入全屏模式在同一Screen
。 请注意,全屏模式下的Stage
在不失去全屏状态的情况下变为不可见,并且当Stage
变为可见时将再次进入全屏模式。Screen
在进入全屏模式之前将其位置设置在Screen
的范围内来控制舞台将进入全屏模式的哪一个Screen
。然而,在全屏模式下一次,
Stage
的x
,y
,width
和height
变量将继续表示窗口的非全屏幕的位置和尺寸; 同为iconified
,resizable
,style
,并opacity
。 如果在全屏模式下更改任何这些属性,则在退出全屏模式时,Stage
将假定这些属性。如果同时设置更多的
Stage
模式,它们的重要性顺序为iconified
fullScreen,maximized
(从最强到最弱)。该属性是只读的,因为它可以由底层平台外部更改,因此不能绑定。
用户可以随时按ESC
无条件退出全屏模式。如果存在安全管理员,则应用程序必须具有
FXPermission
“无限制FULLScreen ”才能进入全屏模式而无限制。 未经许可的应用程序将受到以下限制:- 应用程序只能进入全屏模式以响应用户输入。 更具体地说,从鼠标(
Node.mousePressed/mouseReleased/mouseClicked
)或键盘(Node.keyPressed/keyReleased/keyTyped
)事件处理程序允许输入。 响应ESC
键,不允许进入全屏模式。 尝试从任何其他上下文进入全屏模式将被忽略。如果
Stage
被构造为全屏但不可见,则在可见时将进入全屏模式,同时限制当允许发生这种情况时,将fullScreen
设置为true
。 - 如果应用程序被允许进入全屏模式,它将具有有限的键盘输入。 它将仅从以下键接收KEY_PRESSED和KEY_RELEASED事件:
UP, DOWN, LEFT, RIGHT, SPACE, TAB, PAGE_UP, PAGE_DOWN, HOME, END, ENTER
- 应用程序只能进入全屏模式以响应用户输入。 更具体地说,从鼠标(
- Default value:
- 假
-
fullScreenProperty
public final ReadOnlyBooleanProperty fullScreenProperty()
指定此Stage
是否应为全屏,未装饰的窗口。全屏模式的实现是平台和配置文件相关的。
当设置为
true
,Stage
将在可见时尝试进入全屏模式。 设置为false
以返回Stage
到窗口模式。 如果此属性设置在JavaFX应用程序线程之外的线程上,则抛出一个IllegalStateException
。全屏模式将被退出(以及
如果平台支持多个屏幕,应用程序可以fullScreen
属性将被设置为false
)如全屏幕Stage
失去焦点,或者如果另一Stage
进入全屏模式在同一Screen
。 请注意,全屏模式下的Stage
可以变为不可见,而不会丢失其全屏状态,并且当Stage
变为可见时将再次进入全屏模式。Screen
在进入全屏模式之前将其位置设置在Screen
的范围内来控制舞台将进入全屏模式。然而,在全屏模式下一次,
Stage
的x
,y
,width
和height
变量将继续表示窗口的非全屏幕的位置和尺寸; 同为iconified
,resizable
,style
,并opacity
。 如果在全屏模式下对这些属性中的任何一个进行了更改,则在退出全屏模式时,Stage
将承担这些属性。如果同时设置更多的
Stage
模式,它们的重要性顺序是iconified
fullScreen,maximized
(从最强到最弱)。该属性是只读的,因为它可以由底层平台外部更改,因此不能绑定。
用户可以随时按ESC
无条件退出全屏模式。如果存在安全管理员,应用程序必须具有
FXPermission
“ unrestrictedFullScreen ”才能进入全屏模式而无限制。 未经许可的应用程序将受到以下限制:- 应用程序只能进入全屏模式以响应用户输入。 更具体地说,从鼠标(
Node.mousePressed/mouseReleased/mouseClicked
)或键盘(Node.keyPressed/keyReleased/keyTyped
)事件处理程序允许输入。 响应ESC
键,不允许进入全屏模式。 尝试从任何其他上下文进入全屏模式将被忽略。如果
Stage
被构造为全屏,但不可见,它将变为可见时将进入全屏模式,同时限制当允许发生这种情况时,将fullScreen
设置为true
。 - 如果应用程序被允许进入全屏模式,它将具有有限的键盘输入。 它将仅从以下密钥接收KEY_PRESSED和KEY_RELEASED事件:
UP, DOWN, LEFT, RIGHT, SPACE, TAB, PAGE_UP, PAGE_DOWN, HOME, END, ENTER
- Default value:
- 假
- 另请参见:
-
isFullScreen()
,setFullScreen(boolean)
- 应用程序只能进入全屏模式以响应用户输入。 更具体地说,从鼠标(
-
getIcons
public final ObservableList<Image> getIcons()
获取窗口装饰中使用的图标图像和最小化时。 图像应该是相同图像的不同大小,并且将选择最佳尺寸,例如。 16x16,32,32。- 结果
- 这个窗口的图标的可观察的列表
-
setTitle
public final void setTitle(String value)
设置属性标题的值。- Property description:
-
定义
Stage
的标题。 - Default value:
- 空字符串
-
getTitle
public final String getTitle()
获取属性标题的值。- Property description:
-
定义
Stage
的标题。 - Default value:
- 空字符串
-
titleProperty
public final StringProperty titleProperty()
定义Stage
的标题。- Default value:
- 空字符串
- 另请参见:
-
getTitle()
,setTitle(String)
-
setIconified
public final void setIconified(boolean value)
设置图标属性的值。- Property description:
-
定义
Stage
是否被图标化。如果同时设置更多的
Stage
模式,则它们的重要性顺序是图标fullScreen
;maximized
(从最强到最弱)。在某些移动和嵌入式平台上,将此属性设置为true将隐藏
Stage
但不显示其图标。该属性是只读的,因为它可以由底层平台外部更改,因此不能绑定。
- Default value:
- 假
-
isIconified
public final boolean isIconified()
获取图标属性的值。- Property description:
-
定义
Stage
是否被图标化。如果同时设置更多的
Stage
模式,则它们的重要性顺序是图标fullScreen
;maximized
(从最强到最弱)。在某些移动和嵌入式平台上,将此属性设置为true将隐藏
Stage
但不显示其图标。该属性是只读的,因为它可以由底层平台外部更改,因此不能绑定。
- Default value:
- 假
-
iconifiedProperty
public final ReadOnlyBooleanProperty iconifiedProperty()
定义Stage
是否被图标化。如果同时设置更多的
Stage
模式,则它们的重要性顺序是图标fullScreen
;maximized
(从最强到最弱)。在某些移动和嵌入式平台上,将此属性设置为true将隐藏
Stage
但不显示其图标。该属性是只读的,因为它可以由底层平台外部更改,因此不能绑定。
- Default value:
- 假
- 另请参见:
-
isIconified()
,setIconified(boolean)
-
setMaximized
public final void setMaximized(boolean value)
设置最大化的属性的值。- Property description:
-
定义
Stage
是否最大化。在情况下,更多的
Stage
模式同时设置其重要性顺序是iconified
,fullScreen
,最大化(从最强到最弱)。该属性是只读的,因为它可以由底层平台外部更改,因此不能绑定。
- Default value:
- 假
- 从以下版本开始:
- JavaFX 8.0
-
isMaximized
public final boolean isMaximized()
获取最大化的属性值。- Property description:
-
定义
Stage
是否最大化。在情况下,更多的
Stage
模式同时设置其重要性顺序是iconified
,fullScreen
,最大化(从最强到最弱)。该属性是只读的,因为它可以由底层平台外部更改,因此不能绑定。
- Default value:
- 假
- 从以下版本开始:
- JavaFX 8.0
-
maximizedProperty
public final ReadOnlyBooleanProperty maximizedProperty()
定义Stage
是否最大化。在情况下,更多的
Stage
模式同时设置其重要性顺序是iconified
,fullScreen
,最大化(从最强到最弱)。该属性是只读的,因为它可以由底层平台外部更改,因此不能绑定。
- Default value:
- 假
- 从以下版本开始:
- JavaFX 8.0
- 另请参见:
-
isMaximized()
,setMaximized(boolean)
-
setAlwaysOnTop
public final void setAlwaysOnTop(boolean value)
设置属性alwaysOnTop的值。- Property description:
-
定义这个
Stage
是否保持在其他窗口之上。如果某些其他窗口已经始终在顶部,则这些窗口之间的相对顺序是未指定的(取决于平台)。
如果存在安全管理员,应用程序必须具有
FXPermission
“setWindowAlwaysOnTop”,以使此属性具有任何效果。 如果应用程序没有权限,尝试设置此属性将被忽略,属性值将恢复为false
。该属性是只读的,因为它可以由底层平台外部更改,因此不能绑定。
- Default value:
- 假
- 从以下版本开始:
- JavaFX 8u20
-
isAlwaysOnTop
public final boolean isAlwaysOnTop()
获取属性alwaysOnTop的值。- Property description:
-
定义这个
Stage
是否保持在其他窗口的顶部。如果某些其他窗口已经始终在顶部,则这些窗口之间的相对顺序是未指定的(取决于平台)。
如果存在安全管理员,应用程序必须具有
FXPermission
“setWindowAlwaysOnTop”,以使此属性具有任何效果。 如果应用程序没有权限,尝试设置此属性将被忽略,属性值将恢复为false
。该属性是只读的,因为它可以由底层平台外部更改,因此不能绑定。
- Default value:
- 假
- 从以下版本开始:
- JavaFX 8u20
-
alwaysOnTopProperty
public final ReadOnlyBooleanProperty alwaysOnTopProperty()
定义这个Stage
是否保持在其他窗口之上。如果某些其他窗口已经始终在顶部,则这些窗口之间的相对顺序是未指定的(取决于平台)。
如果存在安全管理员,应用程序必须具有
FXPermission
“setWindowAlwaysOnTop”,以使此属性具有任何效果。 如果应用程序没有权限,尝试设置此属性将被忽略,属性值将恢复为false
。该属性是只读的,因为它可以由底层平台外部更改,因此不能绑定。
- Default value:
- 假
- 从以下版本开始:
- JavaFX 8u20
- 另请参见:
-
isAlwaysOnTop()
,setAlwaysOnTop(boolean)
-
setResizable
public final void setResizable(boolean value)
设置属性可调整大小的值。- Property description:
-
定义用户是否可以调整
Stage
的大小。 您可能仍然以编程方式更改舞台的大小。 这是一个提示,允许实现可选地使用户可以调整舞台。警告:自8.0以来,财产无法束缚,并将扔
RuntimeException
尝试这样做。 这是因为可调整大小的设置在某些系统上是异步的,或者通常可能由系统/窗口管理器设置。
仍然允许双向绑定,因为它们不会阻止系统的属性设置。 - Default value:
- 真正
-
isResizable
public final boolean isResizable()
获取属性可调整大小的值。- Property description:
-
定义用户是否可以调整
Stage
的大小。 您可能仍然以编程方式更改舞台的大小。 这是一个提示,允许实现可选地使用户可以调整舞台。警告:自8.0以来,该属性无法绑定,并将扔
RuntimeException
尝试这样做。 这是因为可调整大小的设置在某些系统上是异步的,或者通常可能由系统/窗口管理器设置。
仍然允许双向绑定,因为它们不会阻止系统的属性设置。 - Default value:
- 真正
-
resizableProperty
public final BooleanProperty resizableProperty()
定义用户是否可以调整Stage
的大小。 您可能仍然以编程方式更改舞台的大小。 这是一个提示,允许实现可选地使用户可以调整舞台。警告:自8.0以来,财产无法束缚,并将扔
RuntimeException
尝试这样做。 这是因为可调整大小的设置在某些系统上是异步的,或者通常可能由系统/窗口管理器设置。
仍然允许双向绑定,因为它们不会阻止系统的属性设置。- Default value:
- 真正
- 另请参见:
-
isResizable()
,setResizable(boolean)
-
setMinWidth
public final void setMinWidth(double value)
设置属性minWidth的值。- Property description:
-
定义此
Stage
的最小宽度。 - Default value:
- 0
- 从以下版本开始:
- JavaFX 2.1
-
getMinWidth
public final double getMinWidth()
获取属性minWidth的值。- Property description:
-
定义
Stage
的最小宽度。 - Default value:
- 0
- 从以下版本开始:
- JavaFX 2.1
-
minWidthProperty
public final DoubleProperty minWidthProperty()
定义此Stage
的最小宽度。- Default value:
- 0
- 从以下版本开始:
- JavaFX 2.1
- 另请参见:
-
getMinWidth()
,setMinWidth(double)
-
setMinHeight
public final void setMinHeight(double value)
设置属性minHeight的值。- Property description:
-
定义这个
Stage
的最小高度。 - Default value:
- 0
- 从以下版本开始:
- JavaFX 2.1
-
getMinHeight
public final double getMinHeight()
获取属性minHeight的值。- Property description:
-
定义
Stage
的最小高度。 - Default value:
- 0
- 从以下版本开始:
- JavaFX 2.1
-
minHeightProperty
public final DoubleProperty minHeightProperty()
定义Stage
的最小高度。- Default value:
- 0
- 从以下版本开始:
- JavaFX 2.1
- 另请参见:
-
getMinHeight()
,setMinHeight(double)
-
setMaxWidth
public final void setMaxWidth(double value)
设置属性maxWidth的值。- Property description:
-
定义此
Stage
的最大宽度。 - Default value:
- Double.MAX_VALUE
- 从以下版本开始:
- JavaFX 2.1
-
getMaxWidth
public final double getMaxWidth()
获取属性maxWidth的值。- Property description:
-
定义此
Stage
的最大宽度。 - Default value:
- Double.MAX_VALUE
- 从以下版本开始:
- JavaFX 2.1
-
maxWidthProperty
public final DoubleProperty maxWidthProperty()
定义此Stage
的最大宽度。- Default value:
- Double.MAX_VALUE
- 从以下版本开始:
- JavaFX 2.1
- 另请参见:
-
getMaxWidth()
,setMaxWidth(double)
-
setMaxHeight
public final void setMaxHeight(double value)
设置属性maxHeight的值。- Property description:
-
定义这个
Stage
的最大高度。 - Default value:
- Double.MAX_VALUE
- 从以下版本开始:
- JavaFX 2.1
-
getMaxHeight
public final double getMaxHeight()
获取属性maxHeight的值。- Property description:
-
定义这个
Stage
的最大高度。 - Default value:
- Double.MAX_VALUE
- 从以下版本开始:
- JavaFX 2.1
-
maxHeightProperty
public final DoubleProperty maxHeightProperty()
定义这个Stage
的最大高度。- Default value:
- Double.MAX_VALUE
- 从以下版本开始:
- JavaFX 2.1
- 另请参见:
-
getMaxHeight()
,setMaxHeight(double)
-
toFront
public void toFront()
把Window
带到前台。 如果Window
已经在前台,没有明显的区别。
-
toBack
public void toBack()
发送Window
到背景。 如果Window
已经在后台没有可见的区别。 此操作将此Window
在支持堆叠的平台上的堆叠顺序的底部。
-
close
public void close()
关闭此Stage
。 此电话相当于hide()
。
-
setFullScreenExitKeyCombination
public final void setFullScreenExitKeyCombination(KeyCombination keyCombination)
指定将允许用户退出全屏模式的KeyCombination。 KeyCombination.NO_MATCH的值不会与任何KeyEvent匹配,因此用户无法从全屏模式中退出。 值为null表示应使用默认平台特定的密钥组合。当进入全屏模式时,将进行此值的内部副本,并将用于触发退出模式。 如果存在安全管理员,应用程序必须具有“无限制FULLScreen ”
FXPermission
来修改退出组合键。 如果应用程序没有权限,则此属性的值将被忽略,在这种情况下将使用默认组合键。- 参数
-
keyCombination
- 退出的组合键 - 从以下版本开始:
- JavaFX 8.0
-
getFullScreenExitKeyCombination
public final KeyCombination getFullScreenExitKeyCombination()
获取用于退出全屏模式的当前顺序。- 结果
- 当前设置(系统默认为空)
- 从以下版本开始:
- JavaFX 8.0
-
fullScreenExitKeyProperty
public final ObjectProperty<KeyCombination> fullScreenExitKeyProperty()
获取全屏幕退出组合键的属性。- 从以下版本开始:
- JavaFX 8.0
-
setFullScreenExitHint
public final void setFullScreenExitHint(String value)
指定用户进入全屏模式时显示的文字,通常用于指示用户从全屏模式退出的方式。 值为null将导致显示默认的每个语言环境消息。 如果设置为空字符串,则不会显示任何消息。如果存在安全管理员,则应用程序必须具有
FXPermission
“ unrestrictedFullScreen ”才能修改退出提示。 如果应用程序没有权限,该属性的值将被忽略,在这种情况下将显示默认消息。- 参数
-
value
- 要显示的字符串。 - 从以下版本开始:
- JavaFX 8.0
-
getFullScreenExitHint
public final String getFullScreenExitHint()
获取属性fullScreenExitHint的值。- Property description:
-
fullScreenExitHintProperty
public final ObjectProperty<String> fullScreenExitHintProperty()
-
-