gpt4 book ai didi

java - 在 jface tableviewer 中显示多个图像

转载 作者:行者123 更新时间:2023-12-01 13:16:10 26 4
gpt4 key购买 nike

我需要在 JFace tableviewer 的单列中显示最多 4 个图像。使用 labelprovider 我只能显示单个图像。

我有四张16x16的图像,根据不同的条件我想显示1或2或3或4张图像。有什么想法吗?

到目前为止我已经完成

    private CellLabelProvider getLabelProvider(String id) {
CellLabelProvider labelProvider = null;
if(id.equals("PROPERTIES")){
labelProvider = new ColumnLabelProvider() {

@Override
public String getText(Object element) {
return null;
}

@Override
public Image getImage(Object element) {
RouteType route=(RouteType) element;
if(cond1) return Image1;
if (cond2) return Image2;
if(cond3) return Image3;
if(cond4) return Image4;


return null;
}

};
}

}

如果 cond1、cond2、cond3 和 cond4 为 true,我想返回所有四个图像 Image1、Image2、Image3 和 Image4。

最佳答案

正如您所见,标签提供程序仅支持一张图像。

您也许可以使用从 org.eclipse.jface.resource.CompositeImageDescriptor 派生的类将多个图像合并为单个图像。我不确定该表处理不同宽度图像的效果如何。

如果这不起作用,您可以使用从 org.eclipse.jface.viewers.OwnerDrawLabelProvider 派生的标签提供程序。此标签提供程序使您可以完全控制绘制表格单元格,但需要一些 SWT GC 绘制操作经验。

关于java - 在 jface tableviewer 中显示多个图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22448049/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com