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

猜你喜欢

转载自blog.csdn.net/weixin_40861847/article/details/84202373