2016-11-17 140 views
1

我想以編程方式在BorderPane中添加和刪除側面菜單。 問題是當我添加一個Node時,它不可見。在FXML文件中定義了 BorderPaneStackPaneJavaFX從BorderPane添加和刪除節點

我想要做這樣的事情:

StackPane temp = (StackPane) borderPane.getChildren().get(1); 
borderPane.getChildren().remove(1); 
borderPane.getChildren().add(0, temp); 

我試圖borderPane.requestLayout(),但它無法正常工作。

回答

0

您可以使用setRightsetLeftsetTopsetBottomsetCenter方法來添加Node s到不同的部分,也getRightgetLeftgetTopgetBottomgetCenter檢索當前分配Node。設置的方法也可以用於通過傳遞null值來刪除當前設置的Node

例子:

假設你有一個BorderPane具有StackPane放置在右側,並且希望將其移動到左側。

StackPane temp = (StackPane) borderPane.getRight(); // Casting is unnecessary 
borderPane.setRight(null); 
borderPane.setLeft(temp); 
+0

謝謝,那就是我一直在尋找的東西。 –

+0

當我使用'borderPane.setAligment()'時,爲什麼我建議使用static?我寧願這樣定位我的節點 – Lealo