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();
 }
}

你可能感兴趣的:(eclipse,J#)