[英]How to change View in TornadoFx
我使用TornadoFx构建了一个应用程序。 它在加载“主”窗口之前显示一个登录窗口。
我的问题是如何显示这个主窗口。
当需要更改视图时,请调用replaceWith<MainWindow>()
将场景的根目录更改为MainWindow
视图的根目录,可选择提供一个内置的过渡效果。
如果需要调整窗口大小, onDock
在MainView
覆盖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.