ブール値のステータスに応じて、画像を列に配置しています。
col = new TableViewerColumn(this, SWT.NONE);
col.getColumn().setWidth(70);
col.getColumn().setText("Print Status");
col.setLabelProvider(new ColumnLabelProvider() {
@Override
public Image getImage(Object element) {
if (((AplotResultsDataModel.ResultsData) element).isSuccess()) {
return SUCCESS;
}
return FAIL;
}
});
これがgetImage
方法です
private static Image getImage(String file) {
Bundle bundle = FrameworkUtil.getBundle(Viewer.class);
URL url = FileLocator.find(bundle, new Path("icons/" + file), null);
ImageDescriptor image = ImageDescriptor.createFromURL(url);
return image.createImage();
}
画像を作成する2つの方法を試しました。
private static final Image FAIL = getImage("failed.png");
と
final Image FAIL = new Image(Display.getDefault() ,"D:/Users/workspace/com.aplot/icons/failed.png");
どちらの場合も、画像は表示されますが、その横にテキストパスがあります。パスは、その列の配列値のように見えます。
例:
[画像]com.aplot.datamodel.ResultsDataModel$ ResultsData @ 9cce9
テキストを削除して画像のみを表示するにはどうすればよいですか?