Javafx 2 javafx中VBoxBuilder和VBox的区别

Javafx 2 javafx中VBoxBuilder和VBox的区别,javafx-2,javafx,vbox,Javafx 2,Javafx,Vbox,有人能解释一下JavaFX中VBoxBuilder和VBox之间的区别吗 VBoxBuilder boxBuilder = VBoxBuilder.create(); VBox vBox1 = new VBox(); 为方便起见,添加了生成器。它们允许在一个命令中创建JavaFX节点,而无需引入新变量。在某些情况下更方便 接下来的两个代码段给出了相同的结果,但后者不创建temp变量 没有建筑商: VBox vBox = new VBox(); vBox.setAlignment(Pos.CEN

有人能解释一下JavaFX中
VBoxBuilder
VBox
之间的区别吗

VBoxBuilder boxBuilder = VBoxBuilder.create();
VBox vBox1 = new VBox();

为方便起见,添加了生成器。它们允许在一个命令中创建JavaFX节点,而无需引入新变量。在某些情况下更方便

接下来的两个代码段给出了相同的结果,但后者不创建temp变量

没有建筑商:

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());
N.B.:尽管您可能希望避免在开放式开发人员邮件列表中使用构建器,但出现了一个问题,这可能会导致在未来的版本中不推荐构建器:

关于构建器和构建器备选方案

谢尔盖的回答涵盖了这个问题,这只是一些补充信息


中的一位JavaFXBuilder创建者对构建器功能进行了很好的描述

然而,正如Sergey所指出的那样,建筑商是。Oracle正忙于从JavaFX示例代码中删除所有生成器引用

尽管不推荐使用,但JavaFX8中仍将提供并支持构建器功能(在很长一段时间内都是如此)

使用基于Java的JavaFX构建器的一些替代方案:

  • 可用于为开发提供声明性语法,该语法与构建器有些类似

  • 其他语言(如和)的JavaFX包装器通过为JavaFX对象定义创建自己的内部DSL,提供构建器风格的功能,作为其核心实现的一部分


中的一位JavaFX builder创建者很好地描述了构建器功能。然而,正如Sergey所指出的,核心JavaFX平台不推荐使用构建器。其他语言(如和)的JavaFX包装器作为核心实现的一部分提供了构建器功能。