Java 当表格编辑器中没有任何内容时,如何使其可编辑

Java 当表格编辑器中没有任何内容时,如何使其可编辑,java,swt,jface,Java,Swt,Jface,我对SWT中的TableEditor有问题。我正在使用此链接中的代码: 除了一件事之外,代码对于我想要的东西非常完美。如果表中没有任何内容,则无法编辑需要编辑的列 更具体地说,我使用TableViewer用代码中其他地方的数据填充表格。如果表中填充了来自其他位置的数据,则我可以编辑该值,但由于某些原因,当列中没有任何内容时,我无法编辑该列(即,如果我尚未从其他位置获取数据)。这对我来说是一个很大的缺点 希望这只是更改编辑器属性的问题,但我似乎找不到在哪里/如何更改它。以前有人遇到过这个问题吗?

我对SWT中的TableEditor有问题。我正在使用此链接中的代码:

除了一件事之外,代码对于我想要的东西非常完美。如果表中没有任何内容,则无法编辑需要编辑的列

更具体地说,我使用TableViewer用代码中其他地方的数据填充表格。如果表中填充了来自其他位置的数据,则我可以编辑该值,但由于某些原因,当列中没有任何内容时,我无法编辑该列(即,如果我尚未从其他位置获取数据)。这对我来说是一个很大的缺点

希望这只是更改编辑器属性的问题,但我似乎找不到在哪里/如何更改它。以前有人遇到过这个问题吗?在此方面的任何帮助都将不胜感激


提前感谢!:)

通常,您会希望以某种方式提示用户有一种编辑此内容的方法。这可以通过在表格中添加合成项来实现:

谢谢你回复我,尤金。我已经想到了这一点,但问题是软件中有12个表,每个表还可以从软件中的其他地方获取数据。理想情况下,我希望用户能够直接通过空表或从软件中的其他位置输入数据。有没有一种方法可以在不向软件中填充虚拟变量的情况下将合成项放入表中?在JFace中我想不出任何这样的方法。我会尝试创建类似于装饰内容提供程序(它会将获取根的子节点的调用转发给代理,并在没有子节点时返回合成节点)——类似的,标签提供程序、单元编辑器等也可以装饰以支持这些节点。在源代码中还有12个位置需要修改…我认为您应该始终将action data对象添加到TableViewer中,以便在Table列中显示操作(添加、删除…等等)。如果没有来自内容提供商的数据,表将不会呈现任何与单元格相关的信息。