您的当前位置:首页正文

How:使用JFaceTableViewer编辑表格(单元格编辑)

2020-11-04 来源:欧得旅游网
How:使⽤JFaceTableViewer编辑表格(单元格编辑)

1,表格的定义

对表格进⾏抽象,定义了TableEnity和ColumnEntity两个类,分别代表了表格极其包含的列。1.1 ColumnEntity.java

其中:

attributeName: 该列所要显⽰的数据对象的属性名字convertPattern:⽤于LabelProvider中对数据格式化columnLabel:列的显⽰名称1.2 TableEntity.java

2,表格的⽣成

3,如何⽀持⾏编辑

JFace表格中可以使⽤EditingSupport为某⼀个列增加单元格编辑器。AbstractEditingSupport中有以下⼏个主要的⽅法:3.1 protected abstract CellEditor getCellEditor(Object element)3.2 protected abstract boolean canEdit(Object element)

⽤于验证该单元格是否能编辑,⽅法返回true则点击单元格之后进⼊编辑模式。这个⽅法中可以添加⼀些依赖关系,如该属性能否编辑,取决于某个属性的值是否为空。例如,对某个订单⾏,没有选定商品之前是不能输⼊商品数量的。实现的代码可以参考如下:

运⾏效果如下图:

3.3 protected abstract Object getValue(Object element)返回当前单元格的显⽰数据。

3.4 protected abstract void setValue(Object element, Object value)

将修改后的值保存到该⾏所对应的对象中去,同时,如果editor存在的话,将editor标识为脏。

因篇幅问题不能全部显示,请点此查看更多更全内容