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标识为脏。
因篇幅问题不能全部显示,请点此查看更多更全内容