📜  示例 javafx - Java (1)

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

JavaFX 示例

JavaFX 是一个强大的 Java GUI 应用程序开发框架,它允许程序员轻松地创建漂亮的用户界面和运行在多个平台上的交互式应用程序。

在这里,我们将通过一个示例来介绍 JavaFX 的一些基本概念和开发方法。

创建一个简单的 JavaFX 应用程序

我们将从一个简单的 JavaFX 应用程序开始,该程序打开一个窗口并显示一条消息。

添加 JavaFX 库

在开始编写 JavaFX 应用程序之前,我们需要向项目中添加 JavaFX 库。

如果您使用的是较老版本的 Java(JavaFX 版本为 2.x),则需要手动下载并添加 JavaFX 库。具体来说,您需要将 jfxrt.jar 文件添加到 Java 项目的类路径中。

如果您使用的是 Java 8,在安装时会自动包括 JavaFX 库。您只需在项目中引用 JavaFX 包,并确保 JavaFX 类在您的 IDE 中正确识别。

import javafx.application.Application;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception{
        primaryStage.setTitle("Hello World");
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

这段代码创建了一个名为 Main 的 JavaFX 应用程序。它继承了 javafx.application.Application 类,这是所有 JavaFX 应用程序的基类。同样, start() 方法是在应用程序启动时自动运行的。

start() 方法创建了一个名为 primaryStage 的舞台对象,这将作为我们应用程序的主要窗口。setTitle() 方法设置窗口的标题, show() 方法显示了窗口。

main() 方法是启动应用程序的入口点,调用 launch() 方法后将自动运行。

创建一个用户界面

下一步是为我们的应用程序添加一些用户界面元素。

例如,我们可以使用 Label 类添加一则消息,并使用 Button 类添加一个 “打招呼” 按钮。

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception{
        primaryStage.setTitle("Hello World");

        Label message = new Label("Hello, JavaFX!");
        Button greetButton = new Button("Greet");

        greetButton.setOnAction(new EventHandler<ActionEvent>() {
            @Override public void handle(ActionEvent e) {
                message.setText("Hello, JavaFX!");
            }
        });

        StackPane root = new StackPane();
        root.getChildren().add(greetButton);
        root.getChildren().add(message);

        primaryStage.setScene(new Scene(root, 300, 250));
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

在这个例子中,我们创建了一个 message 标签和一个 greetButton 按钮。当用户单击 greetButton 按钮时,message 标签会被更新以反映新的消息。

StackPane 是 JavaFX 中的容器类型,可以使我们将多个界面元素居中放置在窗口中。我们将 StackPane 作为根节点,并将 message 标签和 greetButton 按钮添加到其中。

我们还使用 setScene() 方法设置了场景,这是将元素放置到窗口中的必要步骤之一。我们将根节点和窗口的大小作为参数传递给 setScene() 方法。

结论

JavaFX 提供了丰富的用户界面组件和丰富的全面的数据类型,可以让开发者将应用程序构建为良好的用户体验。我们希望这个示例向你展示了如何创建一个简单的 JavaFX 应用程序,并向你展示了如何添加控件和用户交互元素。

如果你想更多地了解 JavaFX,我们建议你探索 JavaFX 的文档和示例。