Javafx 从FXML和场景生成器访问变量

Javafx 从FXML和场景生成器访问变量,javafx,fxml,scenebuilder,Javafx,Fxml,Scenebuilder,我已经用FXML和Scene Builder制作了两个自定义组件,效果非常好。例如,我有一个组件(SliderVariable),其中有一个标签、一个滑块、一个文本字段和一个以前制作的InfoIcon组件(参见下图)。InfoIcon作为.jar文件导入 无论在哪里使用SliderVariable,我都可以在java代码中更改SliderVariable的标题、默认文本等。然而,我想知道如何从Scene Builder或FXML访问这些变量。基本上,我想要的是,每当我将SliderVariab

我已经用FXML和Scene Builder制作了两个自定义组件,效果非常好。例如,我有一个组件(SliderVariable),其中有一个标签、一个滑块、一个文本字段和一个以前制作的InfoIcon组件(参见下图)。InfoIcon作为.jar文件导入

无论在哪里使用SliderVariable,我都可以在java代码中更改SliderVariable的标题、默认文本等。然而,我想知道如何从Scene Builder或FXML访问这些变量。基本上,我想要的是,每当我将SliderVariable导入新项目时,我都希望能够从场景生成器中设置其标题、默认文本等。我已经找了很久了,有可能吗

举例来说,这是有效的:

    SliderVariable slider = new SliderVariable();
    Scene scene = new Scene(slider);
    slider.setTip("Tippety tip");
这并不是:

  <InfoIcon fx:id="info" tipText="Tippety tip"/>

非常感谢。

您是否也有
getTiptText()
tipTextProperty()
方法?我认为
fxmloader
可能会寻找那些方法来识别属性……不,我不知道,我会尝试一下,谢谢!对不起,还有一件事。有没有办法使这些选项在场景生成器中可见?我不知道。还有其他人活跃在这个论坛与场景生成器更多的知识。。。添加了其他方法后,FXML就可以使用了吗?确实如此,我还设法使这些属性在场景生成器中可见。我欣喜若狂。也许我应该发布我自己的解决方案。非常感谢你的帮助!
public class InfoIcon extends StackPane {

    @FXML private Tooltip tip;

    public InfoIcon() {
        FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource(
                "InfoIcon.fxml"));
        fxmlLoader.setRoot(this);
        fxmlLoader.setController(this);

        try {
            fxmlLoader.load();
        } catch (IOException exception) {
            throw new RuntimeException(exception);
        }
    }

    public void setTipText(String value) {
        tip.textProperty().set(value);
    }
}