2016-01-04 72 views
1

我想在swt中的TreeViewer中爲項目設置工具提示。工具提示沒有在swt中顯示

ColumnViewerToolTipSupport.enableFor(viewer); 

DocumentTreeLabelProvider labelProvider = new DocumentTreeLabelProvider(); 
viewer.setLabelProvider(new DecoratingLabelProvider(labelProvider, labelProvider)); 

的labelProvider類看起來是這樣的:

public class DocumentTreeLabelProvider extends ColumnLabelProvider implements ILabelDecorator { 
    ... 

    @Override 
    public String getToolTipText(Object element) { 
     return "tooltip"; //$NON-NLS-1$ 
    } 
    ... 
} 

的問題是,工具提示從不顯示,我不知道爲什麼?

回答

1

ColumnViewerToolTipSupport只查看該列的主標籤提供者(在您的案例中爲DecoratingLabelProvider)。

例如,您將不得不使用支持主標籤提供程序工具提示的標籤提供程序,例如DecoratingStyledCellLabelProvider。擴展該標籤提供商以添加getToolTipText方法。

+0

我對此很陌生。問題是,如果我使用LabelProvider而不是DecoratingLabelProvider,則無法裝飾圖標。 –

+0

我說過用'DecoratingStyledCellLabelProvider'這樣的裝飾。 –

+0

由於某種原因'DecoratingStyledCellLabelProvider'在我的類路徑中不存在.. –