根界面
根界面是一个 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_TAB
、NEW_TAB
和NEW_WINDOW
模式打开界面,则需要该组件。 -
NewWindowButton
- 在单独的浏览器标签页打开新主界面的按钮。 -
TimeZoneIndicator
- 显示当前用户时区的标签。 -
UserIndicator
- 显示当前用户的控件。setFormatter()
方法用与User
实例名不同的格式展示用户的名称:@Autowired private UserIndicator userIndicator; @Subscribe public void onBeforeShow(BeforeShowEvent event) { userIndicator.setFormatter(value -> value.getUsername() + " - user"); }
-
LogoutButton
- 应用程序登出按钮。
下列应用程序属性会影响主界面:
-
jmix.ui.app-window-mode - 设置主窗口的默认模式:
TABBED
或SINGLE
。 -
jmix.ui.max-tab-count - 当主界面在标签页式时,使用该属性设置用户能打开的标签页最多个数。
-
jmix.ui.default-screen-id - 设置主窗口自动打开的默认界面。
-
jmix.ui.default-screen-can-be-closed - 定义用户是否可以关闭默认界面。