2016-02-13 81 views
0

使用Parent來定義場景而不是BorderPaneAnchor等是否是一個很好的實踐?JavaFX中的Parent vs BorderPane

以這種方式使用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); 
    } 
} 

回答

2

這是很好的做法,因爲Parent僅僅是Node,可以有子節點(ParentNode一個子類)。

通過使用Parent而不是BorderPane,您正在使用更一般的類型,而不是將其綁定到某種類型的窗格。您這樣做的原因與您將ArrayList聲明爲List類型的對象的原因相同。如果明天你正在加載一個VBox,你不需要修改你的代碼。

相關問題