2012-04-09 19 views
3

Eclipse RCPのリスト内の項目に画像を追加します。Eclipse RCP:リストに画像を追加

package com.puresol; 

import org.eclipse.jface.viewers.LabelProvider; 
import org.eclipse.swt.graphics.Image; 
import org.eclipse.ui.ISharedImages; 
import org.eclipse.ui.PlatformUI; 

public class MyListLabelProvider extends LabelProvider { 

    private final Image folderImage = PlatformUI.getWorkbench() 
     .getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER); 

    @Override 
    public void dispose() { 
     folderImage.dispose(); 
    } 

    @Override 
    public String getText(Object element) { 
     return element.toString(); 
    } 

    @Override 
     public Image getImage(Object element) { 
     return folderImage; 
    } 
} 

私がすることで、このラベル・プロバイダーを追加します:私は正しいテキスト、ない画像を得るか

listViewer.setLabelProvider(new MyListLabelProvider()); 

私は次のようになりますカスタムLabelProviderを提供しています。私は自分のラベルプロバイダがコードのデバッグのために使われていると確信しています。私はイメージが見えません。イメージはロードされ、nullではありません。

ラベルを表示するには何を有効にする必要がありますか?私はここで何を欠場するのですか?

答えて

1

ListViewerは画像を表示することができません。単一列TableViewerに切り替えて、それが役立つかどうかを確認してください。

+0

はい、確かに役に立ちます。なぜListViewerは画像を表示できないのですか?それには理由がありますか? List to TableとListViewerをTableViewerに変更しました。他のすべては同じものにとどまっていました。 –

+0

'ListViewer'は機能にかなり制限されています。私はそれがOSからのより多くのネイティブウィジェットを使用しているのかもしれないと思うし、 'TableViewer'(または私は' Table'ではなく)がより完全な再実装です。しかし、それは私の理論です... – Krumelur

関連する問題