【问题标题】:How to set width of AnchorPane to resize with parent JFXDialogLayout如何设置 AnchorPane 的宽度以使用父 JFXDialogLayout 调整大小
【发布时间】:2019-03-20 18:07:22
【问题描述】:

我正在尝试使用其父 JFXDialoglayout 调整 AnchorPane 的大小。我在场景构建器中尝试过这个,但不会让我正确定位/调整它的大小。现在我正在尝试手动操作,如下所示。如代码所示,我尝试将 AnchorPane 的宽度和高度绑定到 JFXDialoglayout,但这仍然不起作用。我还尝试将它们的首选项高度/宽度设置为相同,但仍然无效。问题是 AnchorPane 的高度小于 JFXDialogLayout 但宽度相同。如何使高度相等?

private JFXDialogLayout getDialogLayout() {
    JFXDialogLayout layout = new JFXDialogLayout();
    layout.setPrefWidth(600);
    layout.setPrefHeight(300);
    AnchorPane pane = new AnchorPane();
    pane.prefHeightProperty().bind(layout.prefHeightProperty());
    pane.prefWidthProperty().bind(layout.prefWidthProperty());
    Label heading = new Label("Heading");
    Text body = new Text("This is the body of the dialog.");
    JFXButton button = new JFXButton("ACCEPT");

    pane.getChildren().addAll(heading, body, button);
    layout.getChildren().addAll(pane);
    return layout;
}

【问题讨论】:

  • 您经常提到 SceneBuilder,但您发布的代码都没有使用在 SceneBuilder 中创建的任何内容。
  • 那是因为我没有使用场景构建器制作它,我认为手动制作它可以让您获得更多控制权,这也是我正在寻找的方法
  • 您需要更改您的问题以完全适合您正在做/尝试做的事情。阅读我分享的第一个链接。
  • 我现在尝试这样做。

标签: java javafx jfoenix


【解决方案1】:

我使用 SceneBuilder 和 Netbeans 制作 JavaFX 应用程序已经有一段时间了。您正在尝试做的事情,可以在“布局”选项卡中轻松完成,在“锚窗格约束”选项卡中更具体。在四个盒子内,您必须在 Hbox 侧面和 Anchor Pane 外侧之间放置您喜欢的标准距离。请检查下面的屏幕截图,以我的示例为锚窗格内的水平框。当用户调整 Anchor Pane 的大小时,HBox 会变小或变大。

【讨论】:

  • 感谢您的回答。也许我的问题并不清楚,但 JFXDialogLayout 是这里的父级,而不是 AnchorPane。 AnchorPane 中的所有内容都可以正常缩放,但 AnchorPane 本身却不能。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-04-10
  • 2019-07-05
  • 1970-01-01
  • 2015-03-31
  • 1970-01-01
  • 1970-01-01
  • 2014-09-10
相关资源
最近更新 更多