javafx.scene.control.TreeView
TreeViewは階層構造のデータを、ツリー上に表現するためのコントロールです。階層構造は、TreeItemを入れ子構造にすることで設定します。
- 1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 :
17 :
18 :
19 :
20 :
21 :
22 :
23 :
24 :
25 :
26 :
27 :
28 :
29 :
30 :
31 :
32 :
33 :
34 :
35 :
36 :
37 :
38 :
39 :
40 :
41 :
42 :
43 :
44 :
45 :
46 :
47 :
48 :
49 :
50 :
51 :
52 :
53 :
54 :
55 :
56 :
57 :
58 :
59 :
60 :
61 :
62 : -
import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.TreeItem; import javafx.scene.control.TreeView; import javafx.scene.layout.Pane; import javafx.stage.Stage; public class JavaFX_TreeView extends Application{ public static void main(String... args){ Application.launch(args); } public void start(Stage stage) throws Exception { TreeItem<String> rootTreeItem = new TreeItem<>( "○○株式会社" ); rootTreeItem . setExpanded( true ); TreeItem<String> childTreeItem1 = new TreeItem<>( "営業部" ); TreeItem<String> childTreeItem1_1 = new TreeItem<>( "営業1課" ); TreeItem<String> childTreeItem1_2 = new TreeItem<>( "営業2課" ); childTreeItem1 . getChildren() . add( childTreeItem1_1 ); childTreeItem1 . getChildren() . add( childTreeItem1_2 ); TreeItem<String> childTreeItem2 = new TreeItem<>( "総務部" ); TreeItem<String> childTreeItem3 = new TreeItem<>( "経理部" ); TreeItem<String> childTreeItem4 = new TreeItem<>( "技術部" ); TreeItem<String> childTreeItem4_1 = new TreeItem<>( "技術1課" ); TreeItem<String> childTreeItem4_2 = new TreeItem<>( "技術2課" ); childTreeItem4 . getChildren() . add( childTreeItem4_1 ); childTreeItem4 . getChildren() . add( childTreeItem4_2 ); TreeItem<String> childTreeItem5 = new TreeItem<>( "製造部" ); TreeItem<String> childTreeItem5_1 = new TreeItem<>( "製造1課" ); TreeItem<String> childTreeItem5_2 = new TreeItem<>( "製造2課" ); childTreeItem5 . getChildren() . add( childTreeItem5_1 ); childTreeItem5 . getChildren() . add( childTreeItem5_2 ); rootTreeItem . getChildren() . add( childTreeItem1 ); rootTreeItem . getChildren() . add( childTreeItem2 ); rootTreeItem . getChildren() . add( childTreeItem3 ); rootTreeItem . getChildren() . add( childTreeItem4 ); rootTreeItem . getChildren() . add( childTreeItem5 ); // 入れ子構造にした、TreeItemを、TreeViewに設定 TreeView<String> treeView = new TreeView<>( rootTreeItem ); Scene scene = new Scene( new Pane( treeView ) ); // Stageの調整 stage . setTitle( "TreeView" ); stage . setWidth( 300 ); stage . setHeight( 500 ); stage . setScene( scene ); stage . show(); } }
実行結果
TreeViewを全て開いた状態にします。
- 19 :
-
rootTreeItem . setExpanded( true );
入れ子構造にした、TreeItemを最終的にTreeViewに設定します。
- 48 :
49 : -
// 入れ子構造にした、TreeItemを、TreeViewに設定 TreeView<String> treeView = new TreeView<>( rootTreeItem );