列表视图

ListView 是一个基础实现,提供绘制项目列表的功能。列表视图继承自BoxViewspring-doc.cadn.net.cn

ListView<T> 作为其项类型,可以取任何对象。进一步的物品处理则在CellFactory进行。为了方便起见,有辅助 用于通用的高级列表功能,显示已检查状态为正常检查无线电类型。本质上你可以拥有一份清单 这些物品以现状显示,显示任何物品都可以被检查 状态或只有一个项目可以被检查状态。spring-doc.cadn.net.cn

ListView<String> view = new ListView<>();
view.setItems(List.of("item1", "item2"));

默认的物品样式是nocheck,但可以更改。spring-doc.cadn.net.cn

支持不检查, '检查以及“RADIO”spring-doc.cadn.net.cn

ListView<String> view = new ListView<>(ItemStyle.CHECKED);

定制化

单个细胞的显示方式取决于CellFactory。默认实现 简单地表示物品使用其toString()方法。spring-doc.cadn.net.cn

它可以通过修改二手CellFactory来定制。spring-doc.cadn.net.cn

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());
	}
}

并设置成工厂:spring-doc.cadn.net.cn

ListView<ExampleData> view = new ListView<>();
view.setCellFactory((list, item) -> new ExampleListCell(item));

默认绑定

默认视图命令有:spring-doc.cadn.net.cn

表1。视图命令
命令 描述

LINE_UPspring-doc.cadn.net.cn

选拔会往上移动。spring-doc.cadn.net.cn

LINE_DOWNspring-doc.cadn.net.cn

选择权向下移动。spring-doc.cadn.net.cn

默认按键绑定如下:spring-doc.cadn.net.cn

表2。钥匙
命令 描述

CursorUp(光标上游)spring-doc.cadn.net.cn

绑定视图命令LINE_UPspring-doc.cadn.net.cn

光标下spring-doc.cadn.net.cn

Bound ViewCommand LINE_DOWNspring-doc.cadn.net.cn

进入spring-doc.cadn.net.cn

选择主动物品。spring-doc.cadn.net.cn

空间spring-doc.cadn.net.cn

更改当前的物品选择状态。spring-doc.cadn.net.cn

默认鼠标绑定有:spring-doc.cadn.net.cn

表3。鼠
命令 描述

轮 |WheelUp(轮子上行)spring-doc.cadn.net.cn

绑定视图命令LINE_UPspring-doc.cadn.net.cn

轮 |轮下spring-doc.cadn.net.cn

Bound ViewCommand LINE_DOWNspring-doc.cadn.net.cn

已发布 |按钮1spring-doc.cadn.net.cn

选择物品spring-doc.cadn.net.cn

事件

事件的发送取决于使用的列表类型。spring-doc.cadn.net.cn

表4。列表视图活动
事件 描述

ListViewOpenSelectedItemEventspring-doc.cadn.net.cn

激活物品请求打开。spring-doc.cadn.net.cn

ListViewSelectedItemChangedEventspring-doc.cadn.net.cn

当前物品会被更改。spring-doc.cadn.net.cn