- 전체
- JAVA 일반
- JAVA 수학
- JAVA 그래픽
- JAVA 자료구조
- JAVA 인공지능
- JAVA 인터넷
- Java Framework
- Java GUI (AWT,SWING,SWT,JFACE)
- SWT and RCP (web RAP/RWT)[eclipse], EMF
Java GUI (AWT,SWING,SWT,JFACE) SWT Tree Composite
2015.08.06 20:49
SWT Tree Composite
/* SWT/JFace in Action GUI Design with Eclipse 3.0 Matthew Scarpino, Stephen Holder, Stanford Ng, and Laurent Mihalkovic ISBN: 1932394273 Publisher: Manning */ import java.util.ArrayList; import java.util.List; import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.TreeViewer; import org.eclipse.jface.viewers.Viewer; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.widgets.Composite; public class Ch8TreeComposite extends Composite { public Ch8TreeComposite(Composite parent) { super(parent, SWT.NULL); populateControl(); } protected void populateControl() { FillLayout compositeLayout = new FillLayout(); setLayout(compositeLayout); int[] selectionStyle = { SWT.SINGLE, SWT.MULTI }; int[] checkStyle = { SWT.NONE, SWT.CHECK }; for (int selection = 0; selection < selectionStyle.length; selection++) { for (int check = 0; check < checkStyle.length; check++) { int style = selectionStyle[selection] | checkStyle[check]; createTreeViewer(style); } } } private void createTreeViewer(int style) { TreeViewer viewer = new TreeViewer(this, style); viewer.setContentProvider(new ITreeContentProvider() { public Object[] getChildren(Object parentElement) { return ((TreeNode) parentElement).getChildren().toArray(); } public Object getParent(Object element) { return ((TreeNode) element).getParent(); } public boolean hasChildren(Object element) { return ((TreeNode) element).getChildren().size() > 0; } public Object[] getElements(Object inputElement) { return ((TreeNode) inputElement).getChildren().toArray(); } public void dispose() { } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } }); viewer.setInput(getRootNode()); } private TreeNode getRootNode() { TreeNode root = new TreeNode("root"); root.addChild(new TreeNode("child 1").addChild(new TreeNode( "subchild 1"))); root.addChild(new TreeNode("child 2").addChild(new TreeNode( "subchild 2").addChild(new TreeNode("grandchild 1")))); return root; } } class TreeNode { private String name; private List children = new ArrayList(); private TreeNode parent; public TreeNode(String n) { name = n; } protected Object getParent() { return parent; } public TreeNode addChild(TreeNode child) { children.add(child); child.parent = this; return this; } public List getChildren() { return children; } public String toString() { return name; } }
[출처] http://www.java2s.com/Code/Java/SWT-JFace-Eclipse/SWTTreeComposite.htm
본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.