JavaFX學習筆記——重要理念的建立與辨析(八)
阿新 • • 發佈:2018-12-22
Node不能被Pane(Group)共享
問題
倘若編寫如下程式碼,試圖將一個circle裝入兩個pane中,會有問題
Pane pane = new Pane();
ObservableList<Node> list = pane.getChildren();
Pane pane2 = new Pane();
ObservableList<Node> list2 = pane2.getChildren();
Circle circle = new Circle(100,100,50);
list.add(circle);
list2.add(circle);
倘若你在list2.add(circle)前後各加上System.out.print(list.size())
你會發現結果竟然是01兩個不同的結果,即circle並沒有被list和list2共享,而是在list2.add(circle)後,list中的circle自動被刪除了。
解決方法
只能自行復制,用circle的副本裝入list2