1

自動サイズに関してGridPaneのコンテンツを動作させようとしましたが、JavaFXに比較的慣れていないため、成功していません。基本的に、各列は完全にランダムなサイズに見えるものであり、それらを正しく成長させる方法がわかりません. 列の制約を設定しようとすると、コンテンツが完全に消えることもあれば、完全に任意のサイズになることもあります。優先幅を他のものにバインドしようとしても機能しません。ただし、間違いは私のものだと確信しています。これが私のコードです(contentHolderはvGrowがALWAYSに設定されたScrollPaneです):

    int row = 1;
    GridPane gridPane = new GridPane();
    for (List<IndexObject> stepList : search) {
        Label itemLabel = new Label();
        itemLabel.setText(String.valueOf(row));

        TreeItem<String> treeRoot = new TreeItem<>(stepList.get(0).getPath());
        for (int line = 1; line < stepList.size(); line++) {
            treeRoot.getChildren().add(new TreeItem<>(stepList.get(line).getPath()));
        }
        TreeView treeView = new TreeView();
        treeView.setShowRoot(true);
        treeView.setRoot(treeRoot);
        treeRoot.setExpanded(true);

        IndexObject lastObject = stepList.get(stepList.size() - 1);

        TextArea output = new TextArea();
        output.setText(lastObject.prettyPrint());

        gridPane.addRow(row, itemLabel, treeView, output);
        row++;
    }
    contentHolder.setContent(gridPane);

contentHolder まではすべて fxml で定義されています。これがどのように見えるかです。自動的に割り当てられる高さに近いエントリはありませんが、すべての幅が小さすぎます。私は何が欠けていますか?

フォーマット失敗

4

1 に答える 1

1

答えは、スクロール ペインは、作成するまで自動的にサイズ変更されないということです。

<ScrollPane VBox.vgrow="ALWAYS" fitToWidth="true">

その時点で、すべてが期待どおりに機能します。

于 2013-08-13T08:48:09.590 に答える