Java 在RCP TableViewer中手动触发CellEditor

Java 在RCP TableViewer中手动触发CellEditor,java,eclipse,rcp,tableviewer,Java,Eclipse,Rcp,Tableviewer,我希望在上一次编辑完成后,通过自动跳转到tableviewer中的下一个单元格来安慰用户。用户需要修改条目列表中的开始-结束时间。我想知道如何手动(通过编程)触发特定单元格的CellEditor。我以前在Eclipse中没有见过这种情况,所以这次“猴子看,猴子做”似乎没什么帮助 感谢您抽出时间来解答这个问题。这不是一个完整的答案,但可能对您的问题很有帮助 首先,您需要检测编辑何时完成。如果单元格编辑器允许文本输入,则很难;如果它提供用于选择元素的组合框,则更容易 您可以将ICellEditorL

我希望在上一次编辑完成后,通过自动跳转到tableviewer中的下一个单元格来安慰用户。用户需要修改条目列表中的开始-结束时间。我想知道如何手动(通过编程)触发特定单元格的CellEditor。我以前在Eclipse中没有见过这种情况,所以这次“猴子看,猴子做”似乎没什么帮助


感谢您抽出时间来解答这个问题。

这不是一个完整的答案,但可能对您的问题很有帮助

首先,您需要检测编辑何时完成。如果单元格编辑器允许文本输入,则很难;如果它提供用于选择元素的组合框,则更容易

您可以将ICellEditorListener添加到CellEditor。只要编辑器值发生更改,就会调用侦听器。这是检查编辑是否完成的触发器,如果是,则转到“下一个”单元编辑器(因此您必须定义一个单元编辑器序列来查找下一个。一个简单的映射就足够了)


希望有帮助

哇,这是个好答案,安德烈亚斯。我正在摆弄一段来自迅达的代码片段,它使用了很多hocuspocus(通过反射公开字段,添加大量侦听器,等等)。但你的这次尝试听起来不错。我会试试。使用ColumnViewerEditorActivationListener,我会在afterEditorDeactivated上做出反应,从事件源获取当前单元格,并在使用ViewerCell.getNeighbor找到相应的邻居后调用查看器上的editElement。