代码之家  ›  专栏  ›  技术社区  ›  SF23

如何在TornadFX中更改视图

  •  0
  • SF23  · 技术社区  · 7 年前

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

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

    3 回复  |  直到 7 年前
        1
  •  4
  •   Edvin Syse    7 年前

    当需要更改视图时,请致电 replaceWith<MainWindow>() 将场景的根更改为 MainWindow 取而代之的是视图,可以选择提供一种内置的过渡效果。

    如果需要调整窗口大小,请覆盖 onDock 在里面 MainView 然后打电话 currentWindow?.sizeToScene() .

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

        2
  •  1
  •   J.E.Tkaczyk    6 年前

    在这方面,我发现另一件有用的事情是 find(clazz::class) TornadFX中的函数,可以获取 View 当前通过引用其类名显示的。它在大多数地方都是这样工作的。使用以下命令更改当前从 CameraLiveView 看法 WelcomeScreen 看法 . 这有助于不必在应用程序中传递引用。

    find(CameraLiveView::class).replaceWith(WelcomeScreen::class, sizeToScene = true, centerOnScreen = true)
    
        3
  •  0
  •   SF23    7 年前

    谢谢你的回答。它最终与 replaceWith(MainView::class) 和覆盖 onDock() .