编程语言
首页 > 编程语言> > java-如何在JFace TableViewer中将EList设置为输入?

java-如何在JFace TableViewer中将EList设置为输入?

作者:互联网

这是我的第一个SO问题.我希望我提供足够的细节.
我有一个名为ScopeContainer的类的EMF模型,该类具有两个包含引用,它们是不同类型的ELists.

我已经产生了

>型号
>模型.编辑

>模型编辑器

Genmodel编码

我试图在只有一个列的org.eclipse.jface.viewers.TableViewer中显示这些列表之一的内容.

这不能是org.eclipse.swt.widgets.List,因为我希望能够编辑这些条目.

TableViewer viewer;
AdapterFactory adapterFactory = storage.getDomain().getAdapterFactory();
AdapterFactoryLabelProvider labelProvider = new AdapterFactoryLabelProvider(adapterFactory);
AdapterFactoryContentProvider contentProvider = new AdapterFactoryContentProvider(adapterFactory);

viewer.setLabelProvider(labelProvider);
viewer.setContentProvider(contentProvider);
viewer.setInput(project.getScopecontainer().getFilters());

当我将输入设置为ScopeContainer对象时.我可以看到两个列表中的所有对象
当我将输入设置为EList< Filter>表为空.
我该怎么做才能将TableViewer的输入设置为EList?

解决方法:

一个简单的解决方案是重写AdapterFactoryContentProvider.getElements()以返回一个Filter元素数组(从EList< Filter>输入派生).

标签:rcp,jface,swt,emf,java
来源: https://codeday.me/bug/20191024/1922729.html