Java/JavaFX:取任何类型和 return

Java/JavaFX: take any types and return

我正在使用 JavaFX,我试图通过有目的的数学运算将一个节点放在窗格的中央。

我创建了一个这样的函数:

int toCenterX(Label label){
    return (int) ((width-label.getWidth())/2);
}

"width" 是我已经声明的变量。

然后像这样居中:

sampleLabel.setLayoutX(toCenterX(sampleLabel));

该函数工作正常,但我希望该函数不仅接受 Label,还接受其他 JavaFX classes。

如何获取任何类型的 class(节点)并使用 class 具有的特定方法?

您可以使用 Control 而不是 Label。由于 Label 继承自 Control,您可以像使用旧函数一样使用此函数:

int toCenterX(Control control){
    return (int) ((width - control.getWidth()) / 2);
}