Tab between fields in TableViewer

前端 未结 5 695
广开言路
广开言路 2020-12-19 10:20

What I\'d like to do is be able to tab between elements in table.

I currently am creating my table like this.

this.tableViewer = 
            new T         


        
5条回答
  •  渐次进展
    2020-12-19 10:32

    I think by default tab does not jump from cell to cell in an swt table. Instead it traverses to the next control. So you'll also need to tell it not to traverse when tab is pressed

    KeyListener keyListener = new KeyLisener()
    {
        public void keyPressed(KeyEvent evt)
        {
            if (evt.keyCode == SWT.TAB)
            {
                // There are numerous setSelection methods.  I'll leave this to you. 
                tableViewer.getTable().setSelection(...)
            }
        }
    
        public void keyReleased(KeyEvent evt){}
    }
    
    TraverseListener traverseListener = new TraverseListener()
    {
        public void keyTraversed(TraverseEvent evt)
        {
            if (evt.keyCode == SWT.TAB)
                evt.doit = false;
        }
    }
    
    tableViewer.getTable().addKeyListener(keyListener);
    tableViewer.getTable().addTraverseListener(traverseListener);
    

    Also, as derBiggi suggested, the listeners need to be added to the Table object, not the TableViewer.

提交回复
热议问题