最近有点忙,好久没更新文章了,今天继续再研究一下单元工厂的实现机制。为什么我们要这么重视这一块的内容呢?因为用计算机的目的是为了处理大量数据,如果数据量不大,大多情况下用纸就好了,专门用个计算设备的便捷性也就体现不出来。而大量数据的呈现方式的多样性精髓就在单元工厂,所以我们再深究一下。以平台自带的CheckBoxTableCell为例,因为表格的单元工厂通常比较常用,它的层次结构如下:
每一个层级的不断给它丰富更多的属性和功能(方法),我们看到层次如此之深还是相当复杂的。但其实只要细心研究一下底层逻辑和实现原理,应用起来也是比较容易的。
我们看官方文档发现,界面UI的控制逻辑主要体现在Cell级别这个类中,这是本源。其中里面的三个方法startEdit()、cancelEdit()和commitEdit(T newValue)这三个方法分别用于单元工厂的开始编辑、取消编辑和提交编辑的单元值,因此,自定义的单元工厂在这三个阶段去实现各自的功能就可在单元工厂级别去处理大量的事情。另外注意重写protected void updateItem(