如何在 TornadoFX 中将 minHeight 和 minWidth 设置为 Window?
How to set minHeight and minWidth to a Window in TornadoFX?
我在我的项目中使用 TornadoFX
。我有一个 borderPane
的根视图。我能够找到 setPrefSize(1200.0, 720.0)
并且它运行良好。但是,默认情况下 window 是可调整大小的,用户可以无限制地调整它的大小。是否有任何 属性 或方法来设置 window 的 minHeight
和 minWidth
,以便在调整大小时停止在这些限制?
到目前为止,我已经尝试了这些,但其中 none 似乎有效:
override val root = borderPane {
minHeight = 400.0
minWidth = 600.0
setMinSize(600.0, 400,0)
setWindowMinSize(600, 400) // this throws NPE
addClass(loginScreen) // I even set properties in CSS
}
// StyleClass
loginScreen{
minWidth = 600.px
minHeight = 400.px
}
在 TornadoFX 中设置 window 的 minHeight
和 minWidth
的正确方法是什么?还有一件事,我如何在 TornadoFX 中实际禁用 window 调整大小,没有 属性 称为 isResizable
?
P.S。我是 Kotlin 和 TornadoFX 的超级新手。今天刚开始。
你走在正确的轨道上。根组件的首选大小将成为 window 的初始大小。您可以进一步配置 window 的最小大小,但您不能在 UIComponent 的构造函数中执行此操作,因为它是在将显示的实际 window 之前创建的。因此, onDock
回调是配置 window 和 setWindowMinSize
的好地方。但是,如果这是主应用程序 window,更好的策略是覆盖 start
并为 Stage
配置 minWidth
和 minHeigh
属性(是 Window).
值得注意的是,仅当您在 UIComponent 中覆盖 onDock
时,方便的函数 setWindowMinSize
才可用,因为它被定义为设置 UIComponent 的 currentStage 的最小大小的快捷方式.如果重写 start
,则必须直接操作属性,如下所示:
class MyApp : App(MainView::class) {
override fun start(stage: Stage) {
with(stage) {
minWidth = 600.0
minHeight = 400.0
super.start(this)
}
}
}
class MainView : View() {
override val root = borderpane {
setPrefSize(1200.0, 720.0)
}
}
如果要防止调整大小,也可以在 start
函数的 Stage/Window 上设置 isResizable = false
。
我在我的项目中使用 TornadoFX
。我有一个 borderPane
的根视图。我能够找到 setPrefSize(1200.0, 720.0)
并且它运行良好。但是,默认情况下 window 是可调整大小的,用户可以无限制地调整它的大小。是否有任何 属性 或方法来设置 window 的 minHeight
和 minWidth
,以便在调整大小时停止在这些限制?
到目前为止,我已经尝试了这些,但其中 none 似乎有效:
override val root = borderPane {
minHeight = 400.0
minWidth = 600.0
setMinSize(600.0, 400,0)
setWindowMinSize(600, 400) // this throws NPE
addClass(loginScreen) // I even set properties in CSS
}
// StyleClass
loginScreen{
minWidth = 600.px
minHeight = 400.px
}
在 TornadoFX 中设置 window 的 minHeight
和 minWidth
的正确方法是什么?还有一件事,我如何在 TornadoFX 中实际禁用 window 调整大小,没有 属性 称为 isResizable
?
P.S。我是 Kotlin 和 TornadoFX 的超级新手。今天刚开始。
你走在正确的轨道上。根组件的首选大小将成为 window 的初始大小。您可以进一步配置 window 的最小大小,但您不能在 UIComponent 的构造函数中执行此操作,因为它是在将显示的实际 window 之前创建的。因此, onDock
回调是配置 window 和 setWindowMinSize
的好地方。但是,如果这是主应用程序 window,更好的策略是覆盖 start
并为 Stage
配置 minWidth
和 minHeigh
属性(是 Window).
值得注意的是,仅当您在 UIComponent 中覆盖 onDock
时,方便的函数 setWindowMinSize
才可用,因为它被定义为设置 UIComponent 的 currentStage 的最小大小的快捷方式.如果重写 start
,则必须直接操作属性,如下所示:
class MyApp : App(MainView::class) {
override fun start(stage: Stage) {
with(stage) {
minWidth = 600.0
minHeight = 400.0
super.start(this)
}
}
}
class MainView : View() {
override val root = borderpane {
setPrefSize(1200.0, 720.0)
}
}
如果要防止调整大小,也可以在 start
函数的 Stage/Window 上设置 isResizable = false
。