【问题标题】:difference between VBoxBuilder and VBox in javafxjavafx中VBoxBuilder和VBox的区别
【发布时间】:2013-04-30 10:08:50
【问题描述】:

谁能解释JavaFX中VBoxBuilderVBox之间的区别?

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

【问题讨论】:

  • Advantages of JavaFX Builders 中的一位 JavaFX 构建器创建者对构建器功能进行了很好的描述。但是,正如 Sergey 所指出的,构建器已从核心 JavaFX 平台中弃用。其他语言的 JavaFX 包装器(例如 GroovyFXScalaFX)提供构建器功能作为核心实现的一部分。

标签: javafx-2 javafx vbox


【解决方案1】:

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

接下来的两个代码 sn-ps 给出了相同的结果,但后者不创建临时变量。

没有构建器:

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

【讨论】:

    【解决方案2】:

    关于建造者和建造者替代品

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

    Advantages of JavaFX Builders 中的一位 JavaFX 构建器创建者对构建器功能进行了很好的描述。

    但是,正如 Sergey 所说,构建者是 deprecated from the core JavaFX platform。 Oracle 正忙于从 JavaFX 示例代码中删除所有构建器引用。

    即使已弃用,JavaFX 8 中仍将提供并支持构建器功能(因此在很长一段时间内)。

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

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

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

    【讨论】:

      猜你喜欢
      • 2015-11-30
      • 2014-12-14
      • 2021-09-24
      • 2010-11-28
      • 1970-01-01
      • 2016-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多