トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

TableTree

TableTreeはTableとTreeを組み合わせたようなウィジェットです。Tableのように表形式での表示に加えて、各行に親子関係を持たせてツリー上に表示することができます。

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

public class TableTreeSample {
  
  public static void main (String [] args) {
    Display display = new Display ();
    Shell shell = new Shell(display);
    shell.setText("TableTree Sample");
    shell.setLayout(new FillLayout());
    
    // TableTreeウィジェットを生成
    TableTree tableTree = new TableTree(shell,SWT.BORDER|SWT.FULL_SELECTION);
    
    // テーブルのヘッダを設定
    tableTree.getTable().setHeaderVisible(true);
    String[] cols = {"列1","列2","列3"};
    for(int i=0;i<cols.length;i++){
      TableColumn col = new TableColumn(tableTree.getTable(),SWT.LEFT);
      col.setText(cols[i]);
      col.setWidth(50);
    }
    
    // TableTreeにデータを追加
    TableTreeItem item1 = new TableTreeItem(tableTree,SWT.NULL);
    item1.setText(0,"1-1");
    item1.setText(1,"1-2");
    item1.setText(2,"1-3");
    
    TableTreeItem item2 = new TableTreeItem(item1,SWT.NULL);
    item2.setText(0,"2-1");
    item2.setText(1,"2-2");
    item2.setText(2,"2-3");
    
    TableTreeItem item3 = new TableTreeItem(tableTree,SWT.NULL);
    item3.setText(0,"3-1");
    item3.setText(1,"3-2");
    item3.setText(2,"3-3");
    
    // ウィンドウのサイズを指定
    shell.setSize(200,100);
    shell.open();
    while (!shell.isDisposed ()){
      if (!display.readAndDispatch ()){
        display.sleep ();
      }
    }
    display.dispose ();
  }
}

上記のコードを実行結果は以下のようになります。

最終更新時間:2004年08月27日 03時28分59秒