让TableViewer支持Tab编辑

高效的编辑无疑于tab操作,给TableViewer加tab操作其实也不难,jface包下有现成的,我们只需要实现下就可以了,jface包下有个TableViewerEditor,专门处理表格编辑,因此我们用它就可以了,它里面有个create(TableViewer viewer, ColumnViewerEditorActivationStrategy editorActivationStrategy, int feature)方法,API是这样描述这个方法的:Create a customized editor whose activation process is customized,创建一个自定义编辑器的激活过程是自定义的,激活过程就跟咱们的目标接近了,在TableViewer中咱们使用Tab操作无非就是激活下一个编辑列,它这里说到了激活,就离咱们的目标不远啦!
viewer :需要自定义激活过程的TableViewer
editorActivationStrategy: 激活策略,编辑器启动才有效
feature:控制位掩码编辑器 掩码大家不会陌生吧,ColumnViewerEditor提供了以下掩码:
ColumnViewerEditor.DEFAULT
禁用Tab操作
ColumnViewerEditor.TABBING_CYCLE_IN_ROW
如果该行的末尾开始从一开始就达到了同一行
ColumnViewerEditor.TABBING_HORIZONTAL
向右跳格
ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
如果该行的末尾达到开始从开始/以下/以上行的结尾
ColumnViewerEditor.TABBING_VERTICAL
向下跳格

下面是我的用法:
TableViewerEditor.create(v,new ColumnViewerEditorActivationStrategy(v),ColumnViewerEditor.TABBING_HORIZONTAL|ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR|ColumnViewerEditor.TABBING_VERTICAL);



你可能感兴趣的:(idea)