|
该版本仍在开发中,尚未被视为稳定。最新稳定版本请使用Spring Shell 3.4.1! |
列表视图
ListView 是一个基础实现,提供绘制项目列表的功能。列表视图继承自BoxView。
ListView<T> 作为其项类型,可以取任何对象。进一步的物品处理则在CellFactory进行。为了方便起见,有辅助 用于通用的高级列表功能,显示已检查状态为正常检查和无线电类型。本质上你可以拥有一份清单 这些物品以现状显示,显示任何物品都可以被检查 状态或只有一个项目可以被检查状态。
ListView<String> view = new ListView<>();
view.setItems(List.of("item1", "item2"));
默认的物品样式是nocheck,但可以更改。
支持不检查, '检查以及“RADIO”
ListView<String> view = new ListView<>(ItemStyle.CHECKED);
定制化
单个细胞的显示方式取决于CellFactory。默认实现
简单地表示物品使用其toString()方法。
它可以通过修改二手CellFactory来定制。
record ExampleData(String name) {
};
static class ExampleListCell extends AbstractListCell<ExampleData> {
public ExampleListCell(ExampleData item) {
super(item);
}
@Override
public void draw(Screen screen) {
Rectangle rect = getRect();
Writer writer = screen.writerBuilder().style(getStyle()).build();
writer.text(getItem().name(), rect.x(), rect.y());
writer.background(rect, getBackgroundColor());
}
}
并设置成工厂:
ListView<ExampleData> view = new ListView<>();
view.setCellFactory((list, item) -> new ExampleListCell(item));
默认绑定
默认视图命令有:
| 命令 | 描述 |
|---|---|
LINE_UP |
选拔会往上移动。 |
LINE_DOWN |
选择权向下移动。 |
默认按键绑定如下:
| 命令 | 描述 |
|---|---|
CursorUp(光标上游) |
绑定视图命令LINE_UP |
光标下 |
Bound ViewCommand LINE_DOWN |
进入 |
选择主动物品。 |
空间 |
更改当前的物品选择状态。 |
默认鼠标绑定有:
| 命令 | 描述 |
|---|---|
轮 |WheelUp(轮子上行) |
绑定视图命令LINE_UP |
轮 |轮下 |
Bound ViewCommand LINE_DOWN |
已发布 |按钮1 |
选择物品 |
事件
事件的发送取决于使用的列表类型。
| 事件 | 描述 |
|---|---|
ListViewOpenSelectedItemEvent |
激活物品请求打开。 |
ListViewSelectedItemChangedEvent |
当前物品会被更改。 |