📅  最后修改于: 2023-12-03 15:01:36.391000             🧑  作者: Mango
如果您正在使用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()
方法。