SWT - 将图像添加到表格中的按钮 - tableViewer

时间:2012-09-19 17:19:28

标签: java image swt

我想将图像添加到表格中的按钮上。该表显示在我的主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的显示,我该如何获得?

2 个答案:

答案 0 :(得分:1)

你可以使用:

Image image = new Image(Display.getDefault(), "path/to/image.png");

或者改为使用Display.getCurrent()

有关详细信息,请参阅以下有关SWT Image的详细信息:

Taking a look at SWT Images

答案 1 :(得分:0)

我不确定你得到了什么错误。我猜测它可能是“无效的线程访问”,因为您正在从非UI线程访问UI对象。

您可以参考Baz提供的链接创建图像。如果你的插件有Activator,只需检查public static ImageDescriptor getImageDescriptor(String path)这里的路径以ex:/icons/image.png开头。用户ImageDescriptor.createImage(true)将提供您要查找的实际图像。在从imagedescriptor创建新图像之前跟踪缓存中的图像。

在按钮上设置图像,检查文档。很少有平台不支持同时设置图像和文本。