Java 如何覆盖控件';方法,当由FXMLLoader初始化时?
我们在scenebuilder的帮助下创建了几个JavaFX视图。它们的组件通过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
fxmloader
注入控制器类,例如TreeTableView
。现在我想重写TreeTableView
的一个特定方法,但由于它是由fxmloader
初始化的,所以我不确定如何实现这一点
有没有办法重写FXMLLoader注入的
TreeTableView
方法而不创建新控件并将其导入scenebuilder?要重写scenebuilder中的方法,您需要用Java或其他面向对象语言对目标控件进行子类化,并将子类导入scenebuilder
FXML(SceneBuilder的基础)只是一个声明性系统,它没有类似子类化的构造
许多JavaFX控件都有可设置的事件处理程序(例如)和可自定义的CSS,这两种控件都可以在SceneBuilder和FXML中进行操作。因此,您可以在不创建新控件或子类的情况下进行大量自定义,但有时您可能希望创建自定义控件以获得所需的灵活性。我猜我必须将这些类导入到SceneBuilder中,因为它还不涉及事件处理程序和/或特定布局的问题。这感觉开销太大了,因为我只是想覆盖一个小方法来集成一个小增强。无论如何,谢谢你向我证实这一点!