JavaFX FXML 是一个用于创建用户界面的基于XML的标记语言。它允许开发人员将应用程序的用户界面与Java代码分离,从而使代码更易于管理和维护。要在JavaFX FXML中与代码交互,您需要遵循以下步骤:
-
创建FXML文件:首先,您需要创建一个FXML文件来定义用户界面。在这个文件中,您可以使用XML标签和属性来定义控件(如按钮、文本框等)及其属性。
-
创建JavaFX控制器类:接下来,您需要创建一个JavaFX控制器类,该类将负责处理用户界面与代码之间的交互。这个类应该包含一个
initialize()
方法,该方法在FXML文件加载时自动调用。在这个方法中,您可以将FXML中的UI控件与Java代码关联起来。 -
使用
@FXML
注解:在控制器类中,您可以使用@FXML
注解来标记一个方法,以便在FXML文件加载时将该方法与FXML中的某个UI控件关联起来。例如,如果您有一个名为button
的按钮,您可以创建一个名为onButtonClick()
的方法,并使用@FXML
注解将其与按钮关联起来。
import javafx.fxml.FXML; import javafx.scene.control.Button; public class MyController { @FXML private Button button; @FXML public void initialize() { button.setOnAction(event -> { System.out.println("Button clicked!"); }); } }
- 加载FXML文件:在JavaFX应用程序的主类中,您需要使用
FXMLLoader
类来加载FXML文件,并将控制器类与FXML文件关联起来。然后,您可以将根节点添加到场景图中,并显示应用程序窗口。
import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.stage.Stage; public class MyApp extends Application { @Override public void start(Stage primaryStage) throws Exception { Parent root = FXMLLoader.load(getClass().getResource("my_fxml_file.fxml")); primaryStage.setTitle("My JavaFX App"); primaryStage.setScene(new Scene(root)); primaryStage.show(); } public static void main(String[] args) { launch(args); } }
通过遵循这些步骤,您可以在JavaFX FXML中与代码进行交互。当用户与FXML中的UI控件交互时,您可以编写相应的Java代码来处理这些事件和操作。