Adding mouse listener to java swt image
eclipse, image, java, listener, swt
Solution
You can create a `Label`, set you image onto it via
label.setImage(deleteImage)
Afterwards you can do the following:
label.addMouseListener(new MouseListener() {
@Override
public void mouseUp(MouseEvent arg0) {
System.out.println("Click");
}
@Override
public void mouseDown(MouseEvent arg0) {
}
@Override
public void mouseDoubleClick(MouseEvent arg0) {
}
});
Problem
Okay so i have image created like this: ``` Image deleteImage = new Image(viewer.getTable().getDisplay(), Provider.PATH_TO_DELETE_ICON); ``` How do i add mouse listener so i know when the image is clicked? Here is my label provider class: ``` private class MyLabelProvider extends LabelProvider implements ITableLabelProvider { @Override public Image getColumnImage(Object element, int columnIndex) { if (columnIndex == 3) { Image deleteImage = new Image(viewer.getTable().getDisplay(), Provider.PATH_TO_DELETE_ICON); return deleteImage; } if (columnIndex == 4) { Image editImage = new Image(viewer.getTable().getDisplay(), Provider.PATH_TO_EDIT_ICON); return editImage; } else return null; } public String getColumnText(Object element, int index) { Provider provider = (Provider) element; switch (index) { case 0: return Integer.toString(provider.getId()); case 1: return provider.getName(); case 2: return provider.getBulstat(); default: return ""; } } } ```