JavaFX:为什么当有 setter 时 Window.xProperty() 和 Window.yProperty() 是只读的?

标签 java javafx

如标题所示,Window.xProperty()Window.yProperty() 均定义为 ReadOnlyDoubleProperty。但是,有 Window.setX()Window.setY() 允许我们设置值。这样设计有什么原因吗?

最佳答案

这在 documentation of Stage 中有解释。 :

Many of the Stage properties are read only because they can be changed externally by the underlying platform and therefore must not be bindable.

虽然这是针对 Stage 进行说明的,但推理适用于 Window 的某些属性。以及。事实上,诸如 widthheightfocused 之类的属性都提到了同一件事:

The property is read only because it can be changed externally by the underlying platform and therefore must not be bindable.

我不知道为什么 xy 属性在其文档中没有这句话,尽管我猜这只是一个疏忽。

关于JavaFX:为什么当有 setter 时 Window.xProperty() 和 Window.yProperty() 是只读的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53277912/

相关文章:

java - 跟踪 Android 上的应用程序

java - 在Swing中,有没有办法从工具包中提取预定义的鼠标光标图像?

java - 使用 JWS JNLP 为 JavaFX 应用创建桌面图标

java - 如何实时更新 TextArea 的输入?

JavaFx JFoenix Java9

java - 有什么方法可以隐藏 JavaFX 上旋转器的文本字段吗?

java - 为什么我的 Cloud Run - 到 Firebase 调用需要这么长时间?

java - Android中的setOnClickListener()

java - 使用 fxml 和 SceneBuilder 在 JavaFX 中设置全局 CSS 样式表

java - 创建名称为 'mvcValidator' 的 bean 时出错