VBoxBuilder和VBox在javafx中的区别



谁能解释一下JavaFX中VBoxBuilderVBox的区别?

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

添加构建器是为了方便。它们允许在一个命令中创建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());

注意::虽然您可能希望避免使用构建器,因为最近在开放的开发人员邮件列表中提出了一个问题,可能导致在未来的版本中弃用构建器:http://mail.openjdk.java.net/pipermail/openjfx-dev/2013-March/006725.html

关于构建器和构建器替代品

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

在JavaFX构建器的优点中,有一个JavaFX构建器创建者对构建器功能的很好的描述。

然而,正如Sergey指出的那样,构建器已经从核心JavaFX平台弃用了。Oracle正忙着从JavaFX示例代码中删除所有构建器引用。

尽管已弃用,但构建器功能将在JavaFX 8中存在并支持(因此在未来很长一段时间内)。

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

  • FXML可以用来为开发提供一种声明性语法,有点类似于构建器。

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

相关内容

  • 没有找到相关文章

最新更新