5.1.8. TreeViewerTreeViewer ç±»å°è£äºtreeæ§ä»¶ãæ æ¥ç卿ç§ç¶åå³ç³»æ¥æ¾ç¤ºåç级ç对象åè¡¨ãæ¤æ¥çå¨éè¦è®¾ç½®æ ç¾ä¾ç»å¨åå容ä¾ç»å¨ãThe CheckboxTreeViewerå å¥äºå¯¹ä¸ªå«æ¡ç®æ³ç°çæ¯æï¼è¿å¯ä»¥éä¸ååé䏿¡ç®ç¸å³èçå¤éæ¡ã常ç¨çAPI忬:CheckboxTreeViewer å¢å äºå¦ä¸API: ä¸é¢çç¨åºä¾åå±ç¤ºäºææ ·æå»ºä¸ä¸ªæ æ¥çå¨ã(åè§ Figure 5-10)ã import org.eclipse.jface.viewers.*;
import org.eclipse.swt.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;
public class TreeViewerExample {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.setText("Tree Viewer Example");
shell.setBounds(100, 100, 200, 200);
shell.setLayout(new FillLayout());
final TreeViewer treeViewer =
new TreeViewer(shell, SWT.SINGLE);
treeViewer.setLabelProvider(
new PersonListLabelProvider());
treeViewer.setContentProvider(
new PersonTreeContentProvider());
treeViewer.setInput(Person.example());
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) display.sleep();
}
display.dispose();
}
}
Figure 5-10. TreeViewer æ ·ä¾
import org.eclipse.jface.viewers.*;
public class PersonTreeContentProvider
extends ArrayContentProvider
implements ITreeContentProvider {
public Object[] getChildren(Object parentElement) {
Person person = (Person) parentElement;
return person.children;
}
public Object getParent(Object element) {
Person person = (Person) element;
return person.parent;
}
public boolean hasChildren(Object element) {
Person person = (Person) element;
return person.children.length > 0;
}
}
|
JFace Viewer 4
最新推荐文章于 2022-02-18 08:30:12 发布
本文介绍Eclipse中TreeViewer组件的基本用法及CheckboxTreeViewer的扩展功能,包括如何设置标签提供者、内容提供者以及实现树形视图的展开、折叠等操作。
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
111

被折叠的 条评论
为什么被折叠?



