我想将图像添加到表格中的按钮上。该表显示在我的主GUI中。我使用TableViewer
来显示表格。
private void createTableViewer(Composite parent) {
viewer = new AplotDataTableViewer(parent, SWT.BORDER|SWT.V_SCROLL|SWT.FULL_SELECTION);
viewer.setInput(AplotDataModel.getInstance().getArrayData());
}
AplotDataTableViewer
是一个单独的类。 AplotDataTableViewer
的构造函数接受复合和Style。
因此,当我尝试在AplotDataTableViewer
类中添加图片时,它会在Display
变量上给出错误。我认为这是因为Image需要显示。
Image image = new Image(display, String);
我不确定显示器需要什么?如果它需要主GUI的显示,我该如何获得?
答案 0 :(得分:1)
你可以使用:
Image image = new Image(Display.getDefault(), "path/to/image.png");
或者改为使用Display.getCurrent()
。
有关详细信息,请参阅以下有关SWT Image
的详细信息:
答案 1 :(得分:0)
我不确定你得到了什么错误。我猜测它可能是“无效的线程访问”,因为您正在从非UI线程访问UI对象。
您可以参考Baz提供的链接创建图像。如果你的插件有Activator,只需检查public static ImageDescriptor getImageDescriptor(String path)
这里的路径以ex:/icons/image.png开头。用户ImageDescriptor.createImage(true)
将提供您要查找的实际图像。在从imagedescriptor创建新图像之前跟踪缓存中的图像。
在按钮上设置图像,检查文档。很少有平台不支持同时设置图像和文本。