eclipse-rcp:jface tableviewer cell tr​​averse

时间:2011-07-04 01:44:55

标签: eclipse-rcp jface

有一列显示行号,我想阻止用户使用箭头键遍历其中的单元格 enter image description here
在上面的图片中,带有文本“testDO3”的单元格当前是聚焦并突出显示的,行号列用于选择整行,所以我想让它不是travsersable。


这是我自己的解决方案:

tv.getTable().addTraverseListener(new TraverseListener(){
            public void keyTraversed(TraverseEvent e) {
                ViewerCell cell = focusCellManager.getFocusCell();
                if(e.keyCode == SWT.ARROW_LEFT && cell.getColumnIndex() == 2){
                    e.detail = SWT.TRAVERSE_NONE;
                    e.doit = true;
                }
            }

        });

1 个答案:

答案 0 :(得分:0)

假设您正在使用JFace单元格导航,那么子类CellNavigationStrategy并在TableViewerFocusCellManager的构造函数中使用。