读书人

TableTree施用

发布时间: 2012-11-05 09:35:12 作者: rapoo

TableTree使用

import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.TableTree;
import org.eclipse.swt.custom.TableTreeItem;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;

/**
?* This class demonstrates TableTree
?*/
public class TableTreeTest {
?// The number of rows and columns
?private static final int NUM = 3;

?/**
? * Runs the application
? */
?public void run() {
??Display display = new Display();
??Shell shell = new Shell(display);
??shell.setText("TableTree Test");
??createContents(shell);
??shell.pack();
??shell.open();
??while (!shell.isDisposed()) {
???if (!display.readAndDispatch()) {
????display.sleep();
???}
??}
??display.dispose();
?}

?/**
? * Creates the main window's contents
? *
? * @param shell the main window
? */
?private void createContents(final Shell shell) {
??shell.setLayout(new FillLayout());

??// Create the TableTree and set some attributes on the underlying table
??TableTree tableTree = new TableTree(shell, SWT.NONE);
??Table table = tableTree.getTable();
??table.setHeaderVisible(true);
??table.setLinesVisible(false);

??// Create the columns, passing the underlying table
??for (int i = 0; i < NUM; i++) {
???new TableColumn(table, SWT.LEFT).setText("Column " + (i + 1));
??}

??// Create the data
??for (int i = 0; i < NUM; i++) {
???// Create a parent item and add data to the columns
???TableTreeItem parent = new TableTreeItem(tableTree, SWT.NONE);
???parent.setText(0, "Parent " + (i + 1));
???parent.setText(1, "Data");
???parent.setText(2, "More data");

???// Add children items
???for (int j = 0; j < NUM; j++) {
????// Create a child item and add data to the columns
????TableTreeItem child = new TableTreeItem(parent, SWT.NONE);
????child.setText(0, "Child " + (j + 1));
????child.setText(1, "Some child data");
????child.setText(2, "More child data");
????
????TableTreeItem child_child = new TableTreeItem(child, SWT.NONE);
????child_child.setText(0, "child_child " + (j + 1));
????child_child.setText(1, "Some child data");
????child_child.setText(2, "More child data");
???}
???// Expand the parent item
???parent.setExpanded(true);
??}

??// Pack the columns
??TableColumn[] columns = table.getColumns();
??for (int i = 0, n = columns.length; i < n; i++) {
???columns[i].pack();
??}
?}

?/**
? * The application entry point
? *
? * @param args the command line arguments
? */
?public static void main(String[] args) {
??new TableTreeTest().run();
?}
}

读书人网 >其他相关

热点推荐