0

我们在场景构建器的帮助下创建了几个 JavaFX 视图。它们的组件通过 注入到控制器类中FXMLLoader,例如TreeTableView. 现在我想覆盖 的特定方法TreeTableView,但由于它是由 初始化的FXMLLoader,我不知道如何处理这个问题。

有什么方法可以覆盖TreeTableViewFXMLLoader 注入的方法,而无需创建新控件并将其导入到 scenebuilder 中?

4

1 回答 1

1

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

FXML(SceneBuilder 所基于的)只是一个声明性系统,它没有像子类化这样的结构。

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

于 2014-06-17T17:39:12.870 回答