我正在使用TornadoFX的pl +
geom_vline(xintercept = .5) +
geom_vline(xintercept = .8) +
geom_vline(xintercept = .9)
类,并使用它的fragment
方法在新窗口中打开每个新的fragment
。
窗口打开,一切正常。我将模态设置为openWindow()
,以便在新片段处于活动状态时可以访问原始屏幕。
我遇到的问题是,新窗口始终位于顶部 ,因此我不得不将其移动以访问不理想的原始窗口。
这是设计使然吗/还是可以更改此行为?
我一直在使用Modality.NONE
的{{1}}参数,将其设置为null和另一个openWindow()
,但似乎无济于事。
首先,打开窗口的代码owner =
是片段。
Stage
接下来,这就是我用范围声明片段的方式:
view
提前谢谢!
答案 0 :(得分:1)
在另一个上下文中打开新窗口时,默认情况下owner
属性设置为原始UIComponent。您可以将owner = null
传递给openWindow
来防止这种情况,从而允许将窗口放置在原始窗口的下方。这是一个完整的应用程序,显示了它的工作原理:
class MyApp : App(MainView::class)
class MainView : View() {
override val root = stackpane {
setPrefSize(800.0, 600.0)
button("Open new window").action {
find<NewWindow>().openWindow(owner = null)
}
}
}
class NewWindow : Fragment() {
override val root = label("I'm not modal!")
}
如果仍然无法正常工作,请尝试减少代码中的因素数量:)