簡體   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