[英]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.