https://docs.oracle.com/javase/jp/8/javafx/user-interface-tutorial/tree-table-view.htm ORACLE JAVAドキュメント javaFX: JavaFX UIコンポーネントの操作 15 ツリー表ビュー import javafx.application.Application; import javafx.beans.property.ReadOnlyStringWrapper; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.control.TreeTableColumn; import javafx.scene.control.TreeTableColumn.CellDataFeatures; import javafx.scene.control.TreeItem; import javafx.scene.control.TreeTableView; import javafx.stage.Stage; public class TreeTableViewSample extends Application { public static void main(String[] args) { Application.launch(args); } @Override public void start(Stage stage) { stage.setTitle("Tree Table View Samples"); final Scene scene = new Scene(new Group(), 200, 400); Group sceneRoot = (Group)scene.getRoot(); //Creating tree items final TreeItem<String> childNode1 = new TreeItem<>("Child Node 1"); final TreeItem<String> childNode2 = new TreeItem<>("Child Node 2"); final TreeItem<String> childNode3 = new TreeItem<>("Child Node 3"); //Creating the root element final TreeItem<String> root = new TreeItem<>("Root node"); root.setExpanded(true); //Adding tree items to the root root.getChildren().setAll(childNode1, childNode2, childNode3); //Creating a column TreeTableColumn<String,String> column = new TreeTableColumn<>("Column"); column.setPrefWidth(150); //Defining cell content column.setCellValueFactory((CellDataFeatures<String, String> p) -> new ReadOnlyStringWrapper(p.getValue().getValue())); //Creating a tree table view final TreeTableView<String> treeTableView = new TreeTableView<>(root); treeTableView.getColumns().add(column); treeTableView.setPrefWidth(152); treeTableView.setShowRoot(true); sceneRoot.getChildren().add(treeTableView); stage.setScene(scene); stage.show(); } }
javaFXをネットで検索しながら勉強しています。
上記のコードでコメント//Defining cell contentの個所を順番にgetValue()、p.getValue().getValue())、ReadOnlyStringWrapper()、CellDataFeatures<String, String>、setCellValueFactory()と調べてみたのですが、一向にわかりません。
個別には調べましたので、説明してもらえばわかると思います。
ラムダ式もよくわからないので、併せて普通の書き方で説明してもらえれば、ありがたいです。それと数珠つなぎになっているコードの読み方も教えてください。
1日調べたのですがわかりませんでした。よろしくお願いいたします。
あなたの回答
tips
プレビュー