所以我有这个应用程序获取一些数据并显示图表!
当我启动程序时,不会创建图表数据和折线图,因此我的程序如下所示:
然后当我按下“Hent data”按钮时,我的线图被创建并添加到borderpane的中心,这使得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大小,但这并没有解决问题
答案 0 :(得分:2)
使用AnchorPane.setLeftAnchor(javaFxNode, 0.0);
和AnchorPane.setRightAnchor(javaFxNode, 0.0);
静态方法。两者中的值均为0,应将图表的两侧“粘贴”到其容器中。当然,您也可以使用setTopAnchor
和setBottomAnchor
来解决相同的问题。