2012-11-21 54 views
0

所以我有这样的应用程序,它得到了一些数据,并显示一个图形不调整!JavaFX的阶段,当组件添加

当我开始我的程序的图形数据和不创建线图,因此我的程序是这样的:

enter image description here

然后当我按下“恒通数据”按钮,然后我的线图被创建并添加到边界窗格的中心,这使得gui看起来像这样: enter image description here

正如您所看到的应用程序阶段不适合所有组件。

但是如果我启动该程序通过创建一个随机图(在不改变大小)的计划将是这样的:

enter image description here

在我所有的主舞台代码如下例子这样的:

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在这两个值应“坚持”你的图表的边到其容器。当然,你可以使用setTopAnchorsetBottomAnchor以及在高度相同的问题。

+0

谢谢您的答复,我会检查,看看这是否正常工作,当我回来的明天而努力 –