繁体   English   中英

如何在TornadoFx中更改View

[英]How to change View in TornadoFx

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

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

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

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

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

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

find(CameraLiveView::class).replaceWith(WelcomeScreen::class, sizeToScene = true, centerOnScreen = true)

感谢您的回答。 它最终使用replaceWith(MainView::class)并覆盖onDock()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM