使用Parent
来定义场景而不是BorderPane
,Anchor
等是否是一个很好的实践?
以这种方式使用Parent
有什么好处?
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
try {
Parent root = FXMLLoader.load(getClass().getResource("Main.fxml")); //Insted of this: BorderPane root = (BorderPane)FXMLLoader.load(getClass().getResource("Main.fxml"));
Scene scene = new Scene(root,400,400);
scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
launch(args);
}
}
答案 0 :(得分:2)
这是一种很好的做法,因为Parent
只是一个可以拥有子节点的Node
(Parent
是Node
的子类)。
使用Parent
代替BorderPane
,您使用的是更通用的类型,而不是将其绑定到某种类型的窗格。这样做的原因与将ArrayList声明为List类型的对象的原因相同。如果明天您正在加载VBox
,则无需修改代码。