2
编辑:下面是基于最大的建议JFace - 在给定行索引处选择可编辑单元格?
editor.getControl().addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
Table table = viewer.getTable();
int currentIndex = table.getSelectionIndex();
if (e.keyCode == SWT.ARROW_DOWN) {
if (currentIndex != table.getItemCount() - 1) {
table.setSelection(currentIndex+1);
IStructuredSelection sel = (IStructuredSelection) viewer.getSelection();
Object rowObj = sel.getFirstElement();
viewer.editElement(rowObj, columnIndex);
}
}
}
});
我有一个的JFace的TableViewer一个列,它是可编辑的代码(通过实施EditingSupport
完成)。
我希望用户能够在编辑单元格时按下向上/向下箭头移动到其上方/下方的行。下面是我有:
final TextCellEditor editor = new TextCellEditor(viewer.getTable());
editor.getControl().addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
if (e.keyCode == SWT.ARROW_DOWN) {
Table table = viewer.getTable();
int currentIndex = table.getSelectionIndex();
if (currentIndex != table.getItemCount() - 1) {
table.setSelection(currentIndex+1);
}
}
}
});
这所选择行移动到下一行,但不动的文本框,按下箭头看起来这之后即:
如何我是否将文本框设置为特定行中的单元格?