优点:比系统库函数简单好用,参数少
缺点:没有大量测试,递归有风险
public static double getAbsoluteX(Object object) {
if (object instanceof Stage) {
Stage Stage = (Stage)object;
return Stage.getX();
}
else if (object instanceof Scene) {
Scene scene = (Scene)object;
return scene.getX() + getAbsoluteX(scene.getWindow());
} else {
Node node = (Node)object;
if (node.getParent() == null) {
return node.getParent().getLayoutX() + getAbsoluteX(node.getScene());
}
return node.getParent().getLayoutX() + getAbsoluteX(node.getParent());
}
}
public static double getAbsoluteY(Object object) {
if (object instanceof Stage) {
Stage node = (Stage)object;
return node.getX();
}
else if (object instanceof Scene) {
Scene node = (Scene)object;
return node.getX() + getAbsoluteY(node.getWindow());
} else {
Node node = (Node)object;
if (node.getParent() == null) {
return node.getParent().getLayoutX() + getAbsoluteY(node.getScene());
}
return node.getParent().getLayoutX() + getAbsoluteY(node.getParent());
}
}