1. 程式人生 > >JavaFX學習筆記——重要理念的建立與辨析(八)

JavaFX學習筆記——重要理念的建立與辨析(八)

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