Labelprovider getImage not called in ListViewer

I have a ListViewer with a custom LabelProvider. The getText part works fine, but the getImage LabelProvider method is never called.

I also tried using DecoratedLabelProvider, but that didn't work either.

class RadioLabelProvider extends LabelProvider{

    Display d;
    public RadioLabelProvider(Display d)
    {
        this.d = d;
    }

    @Override
    public Image getImage(Object element)
    {
        Image image = d.getSystemImage(SWT.ICON_INFORMATION);
        return image;
    }

    @Override
    public String getText(Object element)
    {
        RadioElement re = (RadioElement) element;
        return re.getIP();
    }
}

Using:

availableDevicesList = new ListViewer(this, SWT.SINGLE | SWT.BORDER);
availableDevicesList.setContentProvider(new ArrayContentProvider());
availableDevicesList.setLabelProvider(new RadioLabelProvider(getDisplay()));
availableDevicesList.setInput(devices);

What am I doing wrong? Or does ListViewer not support images? Thanks

+3
source share
2 answers

I found out that on ListViewers getImage really won't be called.

Instead, I used a TableViewer with a single column. Also, DecoratingLableProvider works, so I can set an image related to the status of objects.

+3
source

In the JFace class source header comment, ListVieweryou will find that ListViewer

, SWT List.

, SWT List , . , TableViewer .

+2

All Articles