📜  javafx 获取窗格的控制器 (1)

📅  最后修改于: 2023-12-03 15:01:36.391000             🧑  作者: Mango

获取JavaFX窗格的控制器

如果您正在使用JavaFX构建GUI应用程序,您可能需要获取窗格的控制器,以便在代码中使用它。本文将向您介绍如何获取JavaFX窗格的控制器。

控制器是什么?

在JavaFX应用程序中,控制器是负责处理用户界面响应的对象。控制器类通常定于为内部类,它实现了 javafx.fxml.Initializable 接口,并带有一个 initialize 方法。

例如,以下代码显示了一个简单的控制器类:

public class MyController implements Initializable {

    @FXML
    private Button myButton;

    @Override
    public void initialize(URL url, ResourceBundle rb) {
        myButton.setOnAction((event) -> {
            System.out.println("Button clicked");
        });
    }
}

在这个例子中,当用户单击 myButton 按钮时,控制器将在控制台输出“Button clicked”。

获取控制器

要获取窗格的控制器,您需要使用JavaFX中的FXML Loader类。FXML Loader是负责加载FXML文件并创建JavaFX节点层次结构的类。

以下代码片段显示了如何使用FXML Loader获取窗格的控制器:

// Load the FXML file
FXMLLoader loader = new FXMLLoader(getClass().getResource("my_window.fxml"));

// Create the root node
AnchorPane root = loader.load();

// Get the controller instance
MyController controller = loader.getController();

在这个例子中,我们加载了名为 my_window 的FXML文件并创建了一个新的 AnchorPane 节点。然后,我们通过调用 loader.getController() 方法来获取与该窗格相关联的控制器实例。

总结

在JavaFX应用程序中,控制器是负责处理用户界面响应的对象。要获取窗格的控制器,您可以使用JavaFX中的FXML Loader类,并调用 loader.getController() 方法。