根界面

根界面是一个 Jmix UI 界面,直接展示在 web 浏览器的标签页中。有两种类型的这种界面:登录界面和主界面。其他的组件中,任何根界面都可以包含 WorkArea 组件,这样使得可以在内部的标签页中打开其他的应用程序界面。如果根界面不包含 WorkArea,应用程序界面只能以 DIALOG 模式打开。

登录界面

登录界面是在用户登录之前展示的界面。通过修改其描述文件和控制器可以实现自定义登录界面。

另外,可以使用 Studio 向导中的 Login screen with branding image 创建新的登录界面。创建之后,新的登录界面 id 会设置到 jmix.ui.login-screen-id 属性中。

主界面

主界面是用户登录之后看到的应用程序的根界面。默认情况下,框架使用带可收缩侧边菜单的主界面。

应用程序中可以使用这些类型的主界面:

  • Main screen with side menu。带有侧边菜单的主界面,默认可以使用左下角的 Collapse 按钮展开或者收起侧边菜单。

  • Main screen with top menu. 一个带有顶部菜单栏的界面。用 Studio 向导可以创建该界面,新界面 id 会设置到 jmix.ui.main-screen-id 属性中。

除了标准 UI 组件之外,下面这些特殊的组件也可以用在主界面:

  • SideMenu - 应用程序菜单,以垂直树的形势展示。

  • AppMenu - 应用程序菜单栏。

  • Drawer - 可以收缩至左侧边的面板。通常作为侧边菜单的容器。

  • AppWorkArea - 工作区,如果需要以 THIS_TABNEW_TABNEW_WINDOW 模式打开界面,则需要该组件。

  • NewWindowButton - 在单独的浏览器标签页打开新主界面的按钮。

  • TimeZoneIndicator - 显示当前用户时区的标签。

  • UserIndicator - 显示当前用户的控件。

    setFormatter() 方法用与 User 实例名不同的格式展示用户的名称:

    @Autowired
    private UserIndicator userIndicator;
    
    @Subscribe
    public void onBeforeShow(BeforeShowEvent event) {
        userIndicator.setFormatter(value -> value.getUsername() + " - user");
    }
  • LogoutButton - 应用程序登出按钮。

下列应用程序属性会影响主界面: