如何获得子节点
问题
多个Node装入了一个Pane或者Group中,但是有时候又需要对一个Pane或Group内的Node分别做出不同的操作,而书上以及教程中只告诉我们添加子节点的步骤即
pane.getChildren().add(node);
解决方法
很简单,pane.getChildren().get(index)即可得到对应下标index的Node
注意
查看API文档,pane.getChildren()返回的是ObservableList<Node>对象,因此若要暂存children,则可用下列方法
ObservableList<Node> list = pane.getChildren();
但要注意,此时list元素的全是Node型引用变量,若要用子类的新方法则需要强制转换
Circle circle = new Circle(100,100,50);
Pane pane = new Pane();
ObservableList<Node> list = pane.getChildren();
list.add(circle);
list.get(0).setRadius(100)//这样是错误的
((Circle) list.get(0)).setRadius(100)//先转换引用变量才能调用其新方法