JavaFX传递布局作为参数

时间:2014-01-18 15:58:05

标签: java layout javafx

为什么需要将布局参数声明为final?

如下:

@Override
    public void start(Stage primaryStage) {
        primaryStage.setTitle("Login form");

        BorderPane borderLayout = new BorderPane();
        borderLayout.setCenter(login(borderLayout));


        Scene scene = new Scene(borderLayout, 300, 275);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

private GridPane login(final BorderPane rootLayout){  //<<--
     // CODE
     return grid;
}

编辑:最后的BorderLayout一直是BorderPane。

1 个答案:

答案 0 :(得分:3)

取自用户templatetypedef:

您可能希望将参数标记为final,这有两个主要原因。首先,如果您计划在匿名内部类中使用该参数,则必须将其标记为final,以便可以在该类中引用它。这实际上是用于标记参数最终的常见用例。

将参数标记为最终的另一个常见原因是为了防止自己意外地覆盖它们。如果你真的不想更改参数,那么也许你应该将它们标记为final,这样如果你真的这样做,你将在编译时得到错误,而不是在运行时发现你的代码有错误。< / p>