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秒