代码之家  ›  专栏  ›  技术社区  ›  LazyTurtle

在同一应用程序中使用初始化控制器和FXML链接控制器的JavaFX

  •  0
  • LazyTurtle  · 技术社区  · 6 年前

    关于 this 问题我想知道是否可以在同一个应用程序中为不同的控制器使用这两种方法。

    也就是说,如果不从外部访问控制器,我将使用fx:controller;如果需要从外部访问控制器,我将使用setcontroller()方法。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Jai    6 年前

    不,您可以使用任一方法访问所有控制器方法,前提是这些方法 public (或任何有效的适当访问器)。

    使用 FXMLLoader::setController() 方法在控制器具有非默认构造函数时非常有用。这在你提到的StackOverflow帖子中有介绍。

    如果您通过 fx:controller ,您可以通过 FXMLLoader::getController() ,并且可以调用该控制器使用该实例的任何方法。