Temos várias visualizações JavaFX criadas com a ajuda do scenebuilder. Seus componentes são injetados nas classes de controladores através do FXMLLoader
, como por exemplo um TreeTableView
. Agora eu gostaria de substituir um método específico de TreeTableView
, mas como é inicializado por FXMLLoader
, Não sei como abordar isso.
Existe alguma maneira de substituir um método de TreeTableView
injetado pelo FXMLLoader sem criar e importar um novo controle para o scenebuilder?
Respostas:
1 para resposta № 1Para substituir um método no SceneBuilder, você precisa subclassificar o controle de destino em Java ou em alguma outra linguagem orientada a objetos e importar sua subclasse para o SceneBuilder.
FXML (no qual SceneBuilder se baseia), é apenas um sistema declarativo, não possui construções como subclassificação.
Muitos controles JavaFX possuem manipuladores de eventos configuráveis (como setOnMouseClicked) e também são CSS personalizáveis, amboscoisas podem ser manipuladas no SceneBuilder e no FXML. Portanto, é possível personalizar bastante sem criar um novo controle ou subclasse, mas às vezes você pode criar controles personalizados para obter a flexibilidade desejada.