我有一个AnchorPane。它将保存自定义类summaryData的对象。
summaryData类如下
public summaryData (double rectX, double rectY, double width, double height) {
rect = new Rectangle(rectX,rectY,width,height);
rect.setStroke(javafx.scene.paint.Color.GRAY);
rect.setFill(javafx.scene.paint.Color.TRANSPARENT);
text = new Text();
text.setFont(Font.font(ChartFontUtil.getAverageFont().getFamily(),FontWeight.NORMAL,11));
text.setY(rectY+((rect.getHeight() + text.getFont().getSize())/2)-1);
text.setSmooth(true);
getChildren().add(rect);
getChildren().add(text);
}
现在,通过以下语句
将此类的对象添加到AnchorPane中anchorPANE.getChildren().add(rectGroup);
其中rectGroup是类summaryData的对象。
现在我想更改此矩形上的文本集。所以我必须执行setText()。 但是如果要更新,我该如何联系到这个组件? 我的意思是我拥有锚定窗格的所有节点,如下所示
javafx.collections.ObservableList<Node> allRectGroups = anchorPANE.getChildren();
现在,是否有任何方法可以通过NODE
引用此rectGroup对象的子节点for(Node node : allRectGroups)
{
// can this node will have any access to the object of class summaryData ?
}
答案 0 :(得分:2)
您需要将节点向下转换为SummaryCountRect,请尝试:
for(Node node : allRectGroups)
{
SummaryCountRect data = (SummaryCountRect) node ;
}