是否可以在Scene Builder中将Group Panel包装在其他类型的面板中?

时间:2013-07-06 15:13:07

标签: javafx-2 javafx javafx-8 scenebuilder

我想知道是否可以将我的主Group Panel包裹在其他类型的面板中?实际上我可以用代码完成它但我想只从Scene Builder处理它以更容易地安排组件。例如,您可以看到一个简单的代码部分,介绍如何将Group Panel包裹在Boder Pane中。

// My main panel which initialized automatically to Group Panel
rootPane = FXMLLoader.load(getClass().getResource("Risk3.fxml"));

FlowPane flowPane = new FlowPane();

//Text Box 1
TextArea countryInfoText = new TextArea();
countryInfoText.setPrefWidth(100.0);
countryInfoText.maxWidth(100.0);

flowPane.getChildren().add(countryInfoText);
flowPane.setPrefWidth(countryInfoText.getPrefWidth());

BorderPane borderPane = new BorderPane();
borderPane.setCenter(rootPane);
borderPane.setLeft(flowPane);

scene = new Scene(borderPane);

primaryStage.setScene(scene);
primaryStage.show();

但是场景生成器不允许我将此root(或换句话说,组面板)包装在其他面板中。您可以在下面看到快照作为示例。

enter image description here

希望我对你很清楚,我会对每一个回复表示赞赏。无论如何,谢谢。

1 个答案:

答案 0 :(得分:0)

好吧,伙计们我做到了。诀窍是你必须通过更改fxml文件的源代码来包装面板。所以我加入了

<BorderPane id="BorderPaneDocument" fx:id="mainPanel" xmlns:fx="http://javafx.com/fxml" fx:controller="javafxapplication1.RiskControllerClass">
  <center>
<Group>
.
.
</Group>
</center>
</BorderPane>

哪个Group是我想在BorderPane中包装的主面板。所以我在fxml文件中创建了一个Border Panel,并将组面板放在Border Pane的中心。它以这种方式完美地工作,我也可以从Scene Builder中修改每个部分。