+ Creating a checked SWT Tree Joris Van den Bogaert Main.java: import org.eclipse.swt.SWT; import org.eclipse.swt.events.ShellAdapter; import org.eclipse.swt.events.ShellEvent; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.TableItem; import org.eclipse.swt.widgets.Tree; import org.eclipse.swt.widgets.TreeItem; public class Main { public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); // pos x, pos y, width, height shell.setBounds(200, 200, 300, 200); shell.setText("SWT Checked Tree Demonstration"); shell.setLayout(new GridLayout()); final Tree tree = new Tree(shell, SWT.BORDER | SWT.CHECK); TreeItem node1 = new TreeItem (tree, SWT.NULL); node1.setText("Java"); TreeItem node2 = new TreeItem(node1, SWT.NULL); node2.setText("j2se"); TreeItem node3 = new TreeItem(node1, SWT.NULL); node3.setText("j2ee"); TreeItem node4 = new TreeItem(node1, SWT.NULL); node4.setText("j2me"); TreeItem node5 = new TreeItem(node2, SWT.NULL); node5.setText("http://java.sun.com/j2se/"); TreeItem node6 = new TreeItem(node3, SWT.NULL); node6.setText("http://java.sun.com/j2se/"); TreeItem node7 = new TreeItem(node4, SWT.NULL); node7.setText("http://java.sun.com/j2se/"); tree.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL)); shell.open(); shell.addShellListener(new ShellAdapter() { public void shellClosed(ShellEvent se) { TreeItem[] treeItems = tree.getItems(); for (int i=0; i<treeItems.length; i++) { recurseTree(treeItems[i]); } } }); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); } public static void recurseTree(TreeItem item) { System.out.println(item.getText() + "tChecked=" + item.getChecked()); TreeItem[] treeItems = item.getItems(); for (int i=0; i<treeItems.length; i++) { TreeItem treeItem = treeItems[i]; recurseTree(treeItem); } } }
Creating a checked SWT Tree
Joris Van den BogaertMain.java: