我有一个带有最后一列的TableViewer,它有EditingSupport来编辑单元格的值。查看器的样式设置为FULL_SELECTION。 单击单元格后,文本值将完全选中:
我可以开始编辑,它会清除当前值"max value"
并开始新值。
但是,如果我想将鼠标移动到特定位置进行编辑,我需要延迟一秒左右。如果我在第一次单击选择后单击太快,将取消选择单元格。
有没有办法避免这种情况?我可以让电池没有完全被选中吗?或者总是把文字放在文本的末尾?谢谢!
答案 0 :(得分:1)
我假设您使用TextCellEditor
作为单元格编辑器。
创建自己的扩展TextCellEditor
的类,并覆盖doSetFocus
类,如下所示:
@Override
protected void doSetFocus()
{
super.doSetFocus();
if (text != null) {
text.setSelection(0, 0);
}
}
答案 1 :(得分:0)
删除完整选择并将插入符号设置为文本结尾,覆盖doSetFocus
并设置text.setSelection( text.getText().length() );
忽略双击事件,将getDoubleClickTimeout
覆盖为return 0