java - TableViewer 如何使用编辑支持设置单元格的插入符位置并删除 FULL_SELECTION

标签 java eclipse-rcp jface caret tablecelleditor

我有一个带有最后一列的 TableViewer,它具有 EditingSupport 来编辑单元格的值。查看器的样式设置为 FULL_SELECTION。 单击单元格后,文本值将被完全选择:

"max value" is fully selected

我可以开始编辑,它将清除当前值“最大值”并开始新值。

但是,如果我想将鼠标移动到特定位置进行编辑,我需要延迟一秒左右。如果我在第一次单击选择后单击太快,该单元格将被取消选择。

有什么办法可以避免这种情况吗?我可以让单元格不被完全选择吗?或者始终将插入符号放在文本末尾?谢谢!

最佳答案

我假设您使用 TextCellEditor 作为单元格编辑器。

创建您自己的类,扩展 TextCellEditor 并重写 doSetFocus 类,如下所示:

@Override
protected void doSetFocus()
{
  super.doSetFocus();

  if (text != null) {
     text.setSelection(0, 0);
   }
}

关于java - TableViewer 如何使用编辑支持设置单元格的插入符位置并删除 FULL_SELECTION,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37986843/

相关文章:

java - 数组返回每一行上的每个项目,而不是每行一个项目

java - 通过 setSound() 设置自定义通知声音(和振动)不起作用

JavaFX RCP 分离部分

java - tableviewer 上的 mouselistener 在双击时选择行

eclipse - Jface ViewerFilter 过滤全树深度

java - 数据库连接句柄问题

java - 如何禁用 Java List 的清除功能

java - 在 Eclipse E4 中突出显示 Activity MPart 选项卡

Eclipse - manifest.mf 插件依赖项 - 不同的图标

java - SWT TableViewer 具有一个列或表项,其中多个按钮充当操作