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);
}
}
}
});
這所選擇行移動到下一行,但不動的文本框,按下箭頭看起來這之後即:
如何我是否將文本框設置爲特定行中的單元格?