public class MyLabelProvider extends LabelProvider {
@Override
public Image getImage(Object element) {
return createImage(imagePath);
}
@Override
public String getText(Object element) {
return MessageFormat.format((String)element); // CheckBOxTreeViewer, AA, BBB //and etc.
}
@Override
public void dispose() {
}
}
public class MyContentProvider implements ITreeContentProvider, IViewerListener {
private CheckboxTreeViewer viewer;
@Override
public void inputChanged(Viewer viewer, Object oldInput, Object NewInput) {
}
@Override
public Object[] getElements(Object inputElement) {
}
@Override
public Object[] getChildren(Object parentElement) {
}
@Override
public Object getParent(Object element) {
}
@Override
public boolean hasChildren(Object element) {
}
@Override
public void refreshOnlyContent(Object element) {
}
@Override
public void refreshOnlyLabels() {
}
@Override
public void refreshEverything(Object element) {
}
@Override
public void dispose() {
}
}
public class MyClass {
@PostConstruct
public void postConstruct(Composite composite) {
CheckboxTreeViewer treeViewer = new CheckboxTreeViewer(Composite);
MyContentProvider contentProvider = new MyContentProvider ();
treeViewer.setContentProvider(contentProvider);
IViewerListener viewerListener = contentProvider;
treeViewer.setLabelProvider(new MyLabelProvider ());
treeViewer.addDoubleClickListener(new IDoubleClickListener() {
@Override
public void doubleClick(DoubleClickEvent event) {
//editor cursor focus code
}
});
}
}
如何修改CheckboxTreeViewer
标签文字。
在此项目示例中,标签文本为CheckBOxTreeViewer
,AA,BBB等。
当我们双击CheckboxTreeViewer
项目时,如何让键盘光标聚焦以编辑标签文本。
CheckboxTreeViewer Image
答案 0 :(得分:0)
版本与AWT / Swing不同。
你需要在treeViewer上使用:
setColumnProperties()
,其中列出了版本的列。默认情况下,树只有一列,因此您只能使用一个元素的数组)setCellEditors()
表示您如何编辑值(文字,
combo,...)setCellModifier()
,它在行对象之间建立连接,
和编辑器(转换值,表示值是否为
可编辑的,...)如果您想要双击版本:
TreeViewerEditor.create(treeViewer, new ColumnViewerEditorActivationStrategy(treeViewer){
protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
return event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION;
}
您也可以查看这篇非常有趣的文章:http://ramkulkarni.com/blog/in-place-editing-in-eclipse-treeviewer/