0

我已经使用 TornadoFx 构建了一个应用程序。它在加载“主”窗口之前显示一个登录窗口。

我的问题是如何显示这个主窗口。

4

3 回答 3

5

当需要更改视图时,调用replaceWith<MainWindow>()以将场景的根更改为MainWindow视图的根,可选择提供一种内置的过渡效果。

如果您需要调整窗口大小,请覆盖onDockMainView调用currentWindow?.sizeToScene().

另一种方法是简单地打开一个新窗口并关闭当前窗口,使用openWindow<MainView>()然后调用close().

于 2017-11-04T15:23:25.573 回答
1

我发现在这种情况下有用的另一件事是find(clazz::class)TornadoFX 中的函数,它可以View通过引用其类名来获取当前正在显示的 a 的节点。它在大多数地方都是这样工作的,使用以下命令将当前显示的内容从CameraLiveView View更改为WelcomeScreen View。这有助于不必在应用程序中传递引用。

find(CameraLiveView::class).replaceWith(WelcomeScreen::class, sizeToScene = true, centerOnScreen = true)
于 2018-10-18T18:10:39.677 回答
0

感谢您的回答。replaceWith(MainView::class)它终于与onDock().

于 2017-11-04T16:09:29.947 回答