2 つの列を持つ GridPane があります。1 つ目は固定サイズの ImageView を含み、2 つ目は Text 要素を持つ VBox を含みます。列幅に合わせるには、この VBox が必要です。グリッドには適切な寸法、ImageView もありますが、2 番目の列の VBox は、親 (グリッド) ではなく、含まれるテキストに適合します。
VBox box = new VBox();
// all three texts can be changed during program execution by user
// (so 'box' width cannot be based on children widths)
box.getChildren().addAll(new Text("1"), new Text("2"), new Text("3"));
box.setStyle("-fx-background-color: red;");
Image image = ...; // image is always 150x150 px
ImageView imgView = new ImageView(image);
GridPane grid = new GridPane();
grid.add(imgView, 0,0);
grid.add(box,1,0);
grid.add(new Text("another content"), 0,1,2,1);
与えられた例によれば、「ボックス」の幅を「グリッド」オブジェクトの 2 列目と同じにしたいと考えています。これを修正する方法は?
緑の枠のコンテナー: GridPane グリッド 水色の枠のコンテナー: VBox ボックス GridPane の背景は赤、VBox の背景はピンクです。親の幅に明らかに適合していないことがわかります。
前もって感謝します