68 种控件目录
下表逐项对应用户清单。所有类位于 polaris.sdk.ui.controls。公开类存在且可实例化,基础行为已实现;同类菜单、容器等有意继承/复用机制,不是 68 套不相关绘图引擎。
“展示位置”对应 Gallery 原有八个控件分类;第九页“绘制与配色”专门展示新渲染功能。测试包括 68 类的构造/绘制分派、代表性状态测试和真实窗口检查;不表示表中每一种边缘交互都经过自动测试。
| # | 用户名称 | Java 类 | 展示位置 | 本版行为与边界 |
|---|---|---|---|---|
| 1 | 按钮 | Button | 基础控件 | 点击、Enter/Space、启用/禁用、onClick;鼠标释放到外部取消点击 |
| 2 | 标签 | Label | 基础控件 | 静态文字、字号和颜色;不负责自动富文本排版 |
| 3 | 复选框 | CheckBox | 基础控件 | 鼠标/键盘切换布尔值与 onChange;没有三态模式 |
| 4 | 单选按钮 | RadioButton | 基础控件 | 单选外观和选中状态;互斥组合使用 RadioGroup |
| 5 | 开关 | Switch | 基础控件 | 开/关状态、点击/键盘和状态事件 |
| 6 | 输入框 | TextField | 文本输入 | 光标、选区、删除、剪贴板、撤销/重做、提交;UTF-16 模型 |
| 7 | 多行文本框 | TextArea | 文本输入 | 多行硬换行、编辑/选区、滚动;没有自动软换行/富文本 |
| 8 | 密码框 | PasswordField | 文本输入 | 密码掩码、禁用复制/剪切;值仍是 Java String,不承诺内存安全擦除 |
| 9 | 搜索框 | SearchField | 文本输入 | 文本编辑、搜索提示、清空按钮与提交回调 |
| 10 | 滑动条 | Slider | 数值反馈 | 鼠标拖动、键盘、范围/步长及数值状态 |
| 11 | 进度条 | ProgressBar | 数值反馈 | 确定进度、横向填充和数值设置;不是任务执行器 |
| 12 | 滚动条 | ScrollBar | 数值反馈 | 独立水平/垂直滚动条、页比例与值;可由宿主绑定滚动模型 |
| 13 | 下拉框 | ComboSelect | 文本输入 | 只读选项按钮 + PopupMenu、键盘选择、selectedIndex/value |
| 14 | 组合框 | ComboBox | 文本输入 | 可编辑文本 + 预设选项弹出;不强制只能取预设值 |
| 15 | 列表框 | ListBox | 数据视图 | 单选、滚轮、方向键、双击回调;只绘制当前可见行 |
| 16 | 微调器 | Spinner | 文本输入 | 横向 − 数值 +;默认无底板,数字切换/符号回弹;范围/步长、中心编辑;不是加载动画 |
| 17 | 选项卡 | Tabs | 容器导航 | 标签头、选中页切换与左右键;非选中页隐藏 |
| 18 | 菜单栏 | MenuBar | 菜单弹窗 | 容纳菜单按钮的横向栏;复用 Panel / DropDownMenu |
| 19 | 下拉菜单 | DropDownMenu | 菜单弹窗 | 菜单入口按钮及 PopupMenu;与 ComboSelect 的数据选择语义不同 |
| 20 | 右键菜单 | RightClickMenu | 菜单弹窗 | 用于 Widget.context 的右键菜单语义类;复用 PopupMenu |
| 21 | 工具栏 | ToolBar | 菜单弹窗 | 横向按钮/图标容器;业务命令由 onClick 提供 |
| 22 | 状态栏 | StatusBar | 菜单弹窗 | 左右两侧状态文字 |
| 23 | 提示框 | Callout | 数值反馈 | 面板内持久提示框,标题/内容;不抢输入焦点 |
| 24 | Tooltip | Tooltip | 基础控件 | 可创建的提示控件;Widget.tooltip 另外提供延迟悬停显示 |
| 25 | 通知框 | Notification | 数值反馈 | 自动消失的通知,交由 Ui 通知队列管理;不强制打断输入 |
| 26 | 对话框 | Dialog | 菜单弹窗 | 可拖动标题栏、关闭按钮、子控件、非模态显示 |
| 27 | 模态框 | Modal | 菜单弹窗 | 对话框上增加遮罩、阻止底层鼠标输入、限制 Tab 焦点范围 |
| 28 | 消息框 | MessageBox | 菜单弹窗 | 消息内容与确认/取消回调;复用 Modal |
| 29 | 面板 | Panel | 容器导航 | 玻璃容器及绝对/行/列/网格四种布局 |
| 30 | 分组框 | GroupBox | 容器导航 | 带组标题的 Panel;可以容纳任意子控件 |
| 31 | 折叠面板 | Accordion | 容器导航 | 标题点击展开/折叠,折叠内容不参与一般命中/焦点导航 |
| 32 | 分割面板 | SplitPane | 容器导航 | 两个子区域、可拖动分割位置;不是多窗停靠系统 |
| 33 | 滚动面板 | ScrollPane | 容器导航 | 内容裁剪、滚动和滚动条;焦点可自动显露 |
| 34 | 树状图 | TreeView | 数据视图 | TreeNode 层级、展开/折叠、选择和方向键;没有异步树数据源 |
| 35 | 表格 | Table | 数据视图 | 字符串单元格、单行选择、列排序、双击对话框编辑;非电子表格 |
| 36 | 网格视图 | GridView | 数据视图 | 等列文本瓦片、选择/滚动;不含图片缩略图加载系统 |
| 37 | 属性表 | PropertyGrid | 数据视图 | 按布尔/数字/文本类型创建编辑器,属性回调;数字回传为 double |
| 38 | 分页器 | Paginator | 容器导航 | 页数、当前页、前后翻页;数据分页查询由调用方执行 |
| 39 | 侧边栏 | Sidebar | 主导航 | 纵向项目选择栏;复用列表选择机制 |
| 40 | 导航栏 | NavBar | 容器导航 | 横向互斥导航项目;选中事件由业务处理 |
| 41 | 面包屑 | Breadcrumb | 容器导航 | 路径段绘制与点击回调;不自动连接文件系统 |
| 42 | 颜色选择器 | ColorPicker | 选择器 | GPU HSV 饱和度/明度平面、色相/Alpha、十六进制输入 |
| 43 | 日期选择器 | DatePicker | 选择器 | LocalDate 模型、月份切换、日历和方向键选择;含闰日处理 |
| 44 | 时间选择器 | TimePicker | 选择器 | LocalTime 模型,三个等宽横向微调器、统一间距;没有时区与时间段选择 |
| 45 | 文件选择器 | FilePicker | 选择器 | 异步只读本地文件浏览、路径/磁盘导航和选择回调;没有保存/覆盖 |
| 46 | 目录选择器 | DirectoryPicker | 选择器 | 同一个只读浏览器的目录模式,返回 Path;不创建目录 |
| 47 | 图标按钮 | IconButton | 基础控件 | 紧凑图标文字按钮与 Tooltip;不是完整 SVG/位图库 |
| 48 | 切换按钮 | ToggleButton | 基础控件 | 保持按下状态的按钮与布尔值回调 |
| 49 | 单选按钮组 | RadioGroup | 基础控件 | 组内互斥选项、索引选择;通常通过组的 select 改变选中项 |
| 50 | 按钮组 | ButtonGroup | 基础控件 | 成组排列/选择按钮;不是操作系统工具栏绑定 |
| 51 | 列表项 | ListItem | 基础控件 | 可独立创建、选择的列表项 |
| 52 | 树节点 | TreeNode | 数据视图 | 树节点模型、子节点、展开状态,也可单独放入控件树 |
| 53 | 表格单元格 | TableCell | 数据视图 | 可编辑文字单元格,作为 Table 的模型或独立编辑控件 |
| 54 | 标签页 | TabPage | 容器导航 | 带标题的页面容器,交由 Tabs 选择显示 |
| 55 | 卡片 | Card | 基础控件 | 标题、副标题和内容组合的卡片容器 |
| 56 | 头像 | Avatar | 基础控件 | 圆形姓名缩写头像;当前不加载用户照片 |
| 57 | 徽章 | Badge | 基础控件 | 短文字/数字徽章 |
| 58 | 分隔线 | Separator | 基础控件 | 水平或垂直分隔线 |
| 59 | 加载指示器 | SpinnerIndicator | 数值反馈 | 按 UI 时间旋转的 SDF 圆弧加载指示器 |
| 60 | 环形进度条 | RingProgress | 数值反馈 | 确定数值的环形进度、进度文字 |
| 61 | 拖动条 | DragBar | 数值反馈 | 拖动目标 Widget 或父面板位置;不是系统窗口拖放协议 |
| 62 | 范围滑动条 | RangeSlider | 数值反馈 | 双端点范围拖动、选中端点键盘调节、约束 low ≤ high |
| 63 | 数字输入框 | NumberField | 文本输入 | 数字文本、范围钳制、方向键步进、无效值回退 |
| 64 | 快捷键输入框 | KeyBindingField | 文本输入 | 捕获组合键、显示快捷键;记录按键,不注册系统级全局热键 |
| 65 | 搜索建议框 | AutoComplete | 文本输入 | 预设候选过滤、保持输入焦点、方向键/Enter 接受建议 |
| 66 | 弹出菜单 | PopupMenu | 菜单弹窗 | 项目、分隔、禁用/勾选、键盘导航、子菜单;子菜单替换父菜单而非多列级联 |
| 67 | 上下文菜单 | ContextMenu | 菜单弹窗 | 上下文菜单语义类,可绑定到 Widget.context;复用 PopupMenu |
| 68 | 命令面板 | CommandPalette | 菜单弹窗 | 命令注册、文本筛选、键盘选择与执行;Ctrl K 可全局打开 |
组合关系说明
Panel、GroupBox、Card、TabPage 等复用子控件容器;TextArea、PasswordField、SearchField 和 NumberField 复用文本编辑基础。TableCell 与 TreeNode 同时承担数据单元和可单独创建的控件角色。
FilePicker 和 DirectoryPicker 使用额外的公开 FileBrowser 组合控件。它不计入用户的 68 项,而是两种选择器共享的文件浏览窗口。
Avatar 和 GridView 已提供当前目录描述的功能,不包含未实现的照片/缩略图管线。详情请见 LIMITATIONS.md。