任何人都可以解释JavaFX中VBoxBuilder
和VBox
之间的区别吗?
VBoxBuilder boxBuilder = VBoxBuilder.create();
VBox vBox1 = new VBox();
答案 0 :(得分:6)
为方便起见,添加了建筑商。它们允许在一个命令中创建JavaFX节点而不引入新变量。在某些情况下它更方便。
接下来的两个代码片段给出相同的结果,但后者不会创建临时变量。
没有建设者:
VBox vBox = new VBox();
vBox.setAlignment(Pos.CENTER);
vBox.getChildren().add(new Label("1"));
Scene scene = new Scene(vBox);
与建设者:
Scene scene2 = new Scene(
VBoxBuilder.create().alignment(Pos.CENTER).children(new Label("1")).build());
NB:虽然您可能希望最近在开放式开发人员邮件列表中不使用构建器,但是引发了一个问题,可能导致在将来的版本中弃用构建器:http://mail.openjdk.java.net/pipermail/openjfx-dev/2013-March/006725.html
答案 1 :(得分:3)
关于构建器和构建器备选方案
谢尔盖的答案涵盖了这个问题,这只是一些补充信息。
Advantages of JavaFX Builders中的一个JavaFX构建器创建者对构建器功能有很好的描述。
然而,正如谢尔盖所说,建造者是deprecated from the core JavaFX platform。 Oracle正忙于从JavaFX示例代码中删除所有构建器引用。
即使已弃用,JavaFX 8中也会出现并支持构建器功能(因此很长一段时间内都会如此)。
使用基于Java的JavaFX构建器的一些替代方法: