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!");
});
}
}
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代码来处理这些事件和操作。