gpt4 book ai didi

javafx - 如何在javafx中使子级自动调整大小(子级是 Pane ,父级是VBox)

转载 作者:行者123 更新时间:2023-12-01 09:26:41 25 4
gpt4 key购买 nike

我有 2 个问题

1.在 javafx 应用程序中,我想将子项(crosshairArea)放在其父项的左上角,宽度和高度也为 1/2。
认为我可以通过覆盖父函数“layoutChildren”(VBox)来做到这一点,
还有其他方法吗?例如属性绑定(bind)?

2.最初VBox会占据整个场景区域,如何使(重新定位)到场景的半底部?

public class Crossh extends Application {

public static void main(String[] args) {
launch(args);
}

@Override
public void start(Stage stage) {
VBox root = new VBox(5);
// root.setPadding(new Insets(20,20,20,20));
root.setStyle("-fx-border-color:red");

Pane crosshairArea = new Pane();
crosshairArea.maxWidthProperty().bind(root.widthProperty());
crosshairArea.setStyle("-fx-border-color:black");

root.getChildren().add(crosshairArea);
Scene scene = new Scene(root);
stage.setScene(scene);
stage.setTitle("Location Crosshair");
stage.setWidth(900);
stage.setHeight(700);
stage.show();
}
}

最佳答案

将 VBox 的最后一个子 vgrow 属性设置为 true。

pane.setVgrow(true);

这将解决问题。

关于javafx - 如何在javafx中使子级自动调整大小(子级是 Pane ,父级是VBox),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22219898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com