Java 如何覆盖控件';方法,当由FXMLLoader初始化时?

Java 如何覆盖控件';方法,当由FXMLLoader初始化时?,java,javafx,overriding,code-injection,fxmlloader,Java,Javafx,Overriding,Code Injection,Fxmlloader,我们在scenebuilder的帮助下创建了几个JavaFX视图。它们的组件通过fxmloader注入控制器类,例如TreeTableView。现在我想重写TreeTableView的一个特定方法,但由于它是由fxmloader初始化的,所以我不确定如何实现这一点 有没有办法重写FXMLLoader注入的TreeTableView方法而不创建新控件并将其导入scenebuilder?要重写scenebuilder中的方法,您需要用Java或其他面向对象语言对目标控件进行子类化,并将子类导入sce

我们在scenebuilder的帮助下创建了几个JavaFX视图。它们的组件通过
fxmloader
注入控制器类,例如
TreeTableView
。现在我想重写
TreeTableView
的一个特定方法,但由于它是由
fxmloader
初始化的,所以我不确定如何实现这一点


有没有办法重写FXMLLoader注入的
TreeTableView
方法而不创建新控件并将其导入scenebuilder?

要重写scenebuilder中的方法,您需要用Java或其他面向对象语言对目标控件进行子类化,并将子类导入scenebuilder

FXML(SceneBuilder的基础)只是一个声明性系统,它没有类似子类化的构造


许多JavaFX控件都有可设置的事件处理程序(例如)和可自定义的CSS,这两种控件都可以在SceneBuilder和FXML中进行操作。因此,您可以在不创建新控件或子类的情况下进行大量自定义,但有时您可能希望创建自定义控件以获得所需的灵活性。

我猜我必须将这些类导入到SceneBuilder中,因为它还不涉及事件处理程序和/或特定布局的问题。这感觉开销太大了,因为我只是想覆盖一个小方法来集成一个小增强。无论如何,谢谢你向我证实这一点!