界面设计器

界面设计器有许多面板和工具窗口,为界面布局开发提供支持,以所见即所得的形式设置 UI 组件属性。界面 XML 描述 编辑器与界面设计器集成,因此,可以直接编辑 XML 文件或使用设计器的面板生成代码。

此功能需要快速开发版或企业版 订阅。如果没有订阅,请尝试 试用版

Jmix UI 面板作为 IDE 中独立的工具窗口提供。当在编辑器打开界面描述时,会自动展示。

面板中包含 Jmix UI 层级结构和组件面板。

screen designer
  1. 源码编辑器

  2. 顶部操作按钮

  3. 布局预览面板

  4. Jmix UI 层级结构面板

  5. Jmix UI 组件面板

布局预览面板

布局预览面板用于展示界面布局的交互式示意图。与屏幕描述的源代码共享编辑器空间。

screen views

界面布局编辑器右上角的按钮:

  1. Editor only - 仅在编辑器展示源代码。

  2. Editor and Preview - 编辑器空间分为两部分,分别展示源码和预览。

  3. Preview only - 仅在编辑器展示预览。

  4. Preview in Window - 在编辑器展示源码,预览在单独窗口展示。

面板的右上角还有几个控制按钮:

screen view panel
  • 100% x 100% 下拉列表允许选择固定画布大小。画布大小可以大于预览面板的大小,此时,将显示滚动条。例如,如果你正在开发包含大量控件的复杂界面,并且想要查看预览,则可以选择 1920x1080 画布大小并观察布局在大屏幕中的展示情况。

  • Refresh 按钮重新加载预览页面的内容。

  • Zoom InZoom OutZoom Reset 按钮改变预览页面的缩放比例。

此外,还可以使用控件来调整布局中组件的大小和对齐:

screen expand

组件工具箱

组件选择工具箱可以通过下列方法打开:

  • 点击顶部操作面板中的 Add component

    add component method1
  • 点击 Jmix UI 层级面板右键菜单中的 Add Component

    add component method2
  • 通过 Ctrl+N/Ctrl+Enter(MacOS)或 Alt+Insert(Windows/Linux)快捷键打开 Generate 菜单:

    add component method3

组件工具箱展示一组可用的界面元素:components(组件)、containers(布局容器)、data components(数据组件,包括数据容器和加载器)以及 facets,facets 里面包括操作和对话框模式设置等。

screen palette

可以使用搜索框查找需要的组件。

如果应用程序中安装的扩展组件包含其自有的组件,也会在工具箱展示,例如,对于图表扩展组件:

screen charts

如需将组件添加至布局中,将其从工具箱拖放至 XML 源码中合适的位置或放置于 Jmix UI 层级结构 面板中。

screen move

右键点击工具箱中的组件可以打开右键菜单,其中有下列操作:

  • Add to Design - 将选中的组件添加至界面,放置于界面结构中选中的元素内。

  • Jmix Documentation - 打开组件的文档页面。

Jmix UI 层级结构

Jmix UI 层级结构面板展示布局中组件的树形结构。

可以从组件工具箱窗口移动组件至层级结构中,或者重新调整树中组件的位置。当选中树的元素时,Jmix UI 窗口的组件面板展示选中元素的属性。

右键点击元素可以看到右键菜单中的操作:

screen hierarchy
  • Add Component 打开 组件选择工具箱

  • Generate handler 用来为组件生成处理方法。

  • Inject to Controller 将组件注入界面控制器或者导航至已有的注入声明处。

  • Convert to 可以将组件转换为一个类似的组件。

  • Wrap into 将组件移至某个建议的布局容器中。

  • Go to XML - 打开源代码中组件的 XML 标签位置。

  • DeleteCopyCutPaste 是组件的删除、复制、剪切、粘贴操作。

  • Jmix Documentation 打开组件的开发文档。

Jmix UI 组件面板

Jmix UI 组件面板展示 PropertiesHandlers 标签页。

对于某些选中的元素,会展示 + Add 按钮,可以用来添加子元素,例如表格操作、列、格式化器、验证器等。

component inspector add button
  • 如需添加一个 选取器组件操作,在界面 XML 描述或者 Jmix UI 层级结构面板中选择一个选取器组件(EntityComboBoxEntityPickerEntitySuggestionFieldValuePicker),然后点击 Jmix UI 组件面板中的 Add → Action。此时会显示 Add Action 弹窗:

    add picker action dialog

    从列表中选择一些标准操作。

    如需添加自定义的 声明式操作,选择 New Custom Action 并点击 OK。显示 Enter Action Id 对话框:

    action id dialog

    然后通过订阅 Action.ActionPerformedEvent 事件,在 界面控制器 实现自定义的逻辑。

  • 如需添加 列表操作,在界面 XML 描述或者 Jmix UI 层级结构面板中选择一个 tabledataGrid 组件,然后点击 Jmix UI 组件面板中的 Add → Action。此时会显示 Add Action 弹窗:

    add action dialog

    如果选择了 Create Button for selected actions 复选框,Jmix Studio 会在 buttonsPanel 布局容器中创建一个 button,关联至添加的操作。

  • 如需添加 column,在界面 XML 描述或者 Jmix UI 层级结构面板中选择 columns 元素,然后点击 Jmix UI 组件面板中的 Add → Column。此时会显示 Add Column 弹窗:

    add column dialog

    列表展示 fetchPlan 中包含的那些还没有在 table 组件展示的属性。

    如需添加一个 生成列,选择 New Custom Column 并点击 OK。此时会显示 Column generator 弹窗:

    column generator

    从 Studio 建议的列表中选择一个生成列的类型及其对应的 渲染器 类型。

    Studio 会自动在 XML 中添加生成列,在界面控制器中添加处理器方法。

Properties 标签页

Properties 标签页展示选中界面元素的属性,并支持编辑。

screen properties

有些属性具有默认值,以灰色显示。

使用搜索控件查找需要的属性。

属性默认按照名称排序。第一列给出所选组件的所有属性名。第二列展示属性值:

  • 当选中某个属性时,值会变为一个可编辑的字段,允许输入新值。

    text values
  • 如果值是一个列表,则选中该属性时会显示一个 下移 下拉按钮。

    list values
  • 如果值是布尔类型,可以用复选框修改:

    boolean values
  • 点击 stylename 属性的 Plus 按钮打开 Style Name Editor 对话框:

    style name editor

    样式名称按照组件或容器名排序。

  • 点击 icon 属性的 Edit 按钮打开 Choose icon 对话框:

    choose icon dialog
    • JMIX ICONS 标签页包含默认的 JmixIcon 图标集。几乎包含全部的 FontAwesome 图标集以及 Jmix 特定的图标。

    • FONT AWESOME 标签页包含 FontAwesome 字体图标集。

    • ICON SET 标签页包含 自定义图标集

    • APPLICATION ICONS 标签页包含 主题 资源。

Handlers 标签页

Handlers(处理器) 标签页展示选中组件的事件监听器和组件代理方法。如需生成处理器方法,双击相应的行即可。

screen handlers

然后会自动跳转至 界面控制器 中代码段的位置。

顶部操作面板

操作面板位于源码编辑器的顶部。提供下列操作:

  • Controller - 跳转至界面控制器。

  • <entity class name> - 如果界面是实体浏览界面或者编辑界面,则展示实体类名称,可以跳转至当前界面关联的实体代码。

  • Add component - 打开组件工具箱:

screen top panel

此外,还可以点击侧边线的标记在控制器和界面描述之间切换。