0

所以我有这个应用程序可以获取一些数据并显示图表!

当我启动我的程序时,没有创建图形数据和折线图,因此我的程序如下所示:

在此处输入图像描述

然后当我按下“Hent data”按钮时,我的折线图被创建并添加到边框的中心,这使得 gui 看起来像这样: 在此处输入图像描述

如您所见,应用程序阶段的大小不适合所有组件。

但是,如果我通过创建一个随机图形(而不是更改大小)来启动程序,程序将如下所示:

在此处输入图像描述

在所有示例中,我的主要阶段代码如下所示:

public void start(Stage primaryStage) throws Exception {
    this.primaryStage = primaryStage;
    bp = new BorderPane();
    bp.setTop(createTopPane());
    Group root = new Group();
    root.getChildren().add(bp);
    bp.setCenter(createCenter());
    AnchorPane leftPane = new AnchorPane();

    leftPane.setPrefWidth(20);
    Separator vSeparator = new Separator(Orientation.VERTICAL);
    bp.setRight(leftPane);
    Scene scene = new Scene(root);
    scene.getStylesheets().addAll("test.css", "calendarstyle.css");
    primaryStage.setScene(scene);
    primaryStage.setMinHeight(500);
    primaryStage.setMinWidth(527);
    primaryStage.show();
}

即使尚未创建图表,我如何确保舞台保持适合图表的大小?

请注意,当我单击按钮时,我已经尝试更改 primaryStage 大小,但这并没有解决问题

4

1 回答 1

2

使用AnchorPane.setLeftAnchor(javaFxNode, 0.0);AnchorPane.setRightAnchor(javaFxNode, 0.0);静态方法。两者中的 0 值都应该将图表的两侧“粘贴”到其容器上。当然,您也可以使用setTopAnchorandsetBottomAnchor来解决同样的高度问题。

于 2012-11-27T22:04:30.567 回答