有关CellEditor

为了批量发布设备,需要在一个窗口中为设备命名,设定其类型等,要用到Combo,所以就用了CellEditor

用CellEditor还是很方便的,有CheckboxCellEditor,ComboBoxCellEditor,LabelCellEditor,TextCellEditor等等。

首先把TableColumn的名称做成String数组,调用viewer.setColumnProperties()方法

然后做一个CellEditor数组,数组中的每一个CellEditor都对应着每一个Column

然后实现ICellModifier接口,做一个自己的CellModifier,并调用viewer.setCellModifier()方法

接口中有三个方法:

1.public boolean canModify(Object element, String property)
用来判断哪一个属性可写
2.public Object getValue(Object element, String property)
返回某个属性的值
3.public void modify(Object element, String property, Object value)
为某个属性赋值

昨天碰到了很多异常,情况如下:

1.ComboCellEditor 中对应的是Integer类型的值,如果用了String的话,就会有异常抛出。

2.tableviewer的input中,对象的很多属性没有赋初始值,由此而导致了在CellModifier里面调用get或者set方法时,出现了空指针异常。

3.update tableviewer。今天上午才找到table.addFocusListener方法,而且要在focusGained方法中进行更新。应该是由于编辑Cell的时候,focus从Table转移到了Cell上,所以要用focusGained方法吧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值