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

Tree

import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;

public class TreeSample1 {
  public static void main(String[] args){
    Display display = new Display ();
    Shell shell = new Shell(display);
    shell.setLayout(new FillLayout());
    shell.setText("Tree Sample1");
    
    Tree tree = new Tree(shell,SWT.BORDER);
    
    // ルートとなる要素を追加
    TreeItem root = new TreeItem(tree,SWT.NULL);
    root.setText("Root");
    // ルートの子要素を追加
    TreeItem item1 = new TreeItem(root,SWT.NULL);
    item1.setText("Item1");
    // ルートの子要素を追加
    TreeItem item2 = new TreeItem(root,SWT.NULL);
    item2.setText("Item2");
    
    shell.setSize(200,100);
    shell.open();
    
    while (!shell.isDisposed ()){
      if (!display.readAndDispatch ()){
        display.sleep ();
      }
    }
    display.dispose ();
  }
}

Treeのコンストラクタのスタイル指定でSWT.MULTIかSWT.SINGLEを指定することによって要素の複数選択を許可するかどうかを指定できます。

// 複数選択可能なツリーを作成
Tree tree = new Tree(shell,SWT.MULTI);

また、SWT.CHECKを指定することで、ツリーの各要素にチェックボックスを表示することができます。

// ツリーの各要素にチェックボックスを表示
Tree tree = new Tree(sShell, SWT.BORDER|SWT.CHECK);

以下にTreeとTreeItemの代表的なメソッドの使用例を示します。

// 要素数(直接の子要素の数)を取得
int itemCount = list.getItemCount();

// 直接の子要素を取得
TreeItem[] items = list.getItems();

// 選択されている要素の数を取得
int selectedCount = tree.getSelectionCount();

// 選択されている要素を取得し、削除
TreeItem[] selectedItems = tree.getSelection();
for(int i=0;i<selectedItems;i++){
  selectedItems[i].dispose();
}

// 全ての要素を削除
tree.removeAll();

// 子要素を取得します
TreeItem[] children = item.getItems();

// 親要素を取得します
TreeItem parentItem = item.getParentItem();

最終更新時間:2006年06月24日 15時58分22秒