0

我想将图像添加到表格中的按钮。该表显示在我的主 GUI 中。我正在使用 aTableViewer来显示表格。

private void createTableViewer(Composite parent) {

  viewer = new AplotDataTableViewer(parent, SWT.BORDER|SWT.V_SCROLL|SWT.FULL_SELECTION);
  viewer.setInput(AplotDataModel.getInstance().getArrayData());

}

AplotDataTableViewer是一个单独的类。的构造函数AplotDataTableViewer接受复合和样式。

因此,当我尝试在AplotDataTableViewer类中添加图像时,它会给我一个Display变量错误。我认为这是因为图像需要显示器。

Image image = new Image(display, String);  

我不确定它需要什么来显示?如果它需要来自主 GUI 的显示,我该如何获得呢?

4

2 回答 2

1

您可以使用:

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

Display.getCurrent()改为使用。

有关更多详细信息,这里有一个关于 SWTImage的好教程:

看看 SWT 图像

于 2012-09-19T17:40:47.413 回答
0

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

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

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

于 2012-09-19T18:25:59.323 回答