当前位置: 首页 > 编程笔记 >

javafx Hello World程序

宋建柏
2023-03-14
本文向大家介绍javafx Hello World程序,包括了javafx Hello World程序的使用技巧和注意事项,需要的朋友参考一下

示例

以下代码创建了一个简单的用户界面,其中包含一个单击即可在控制台上Button打印一个的用户界面String。

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class HelloWorld extends Application {

    @Override
    public void start(Stage primaryStage) {
        // 创建具有指定文本的按钮
        Button button = new Button("Say 'Hello World'");

        // 设置当用户激活按钮时执行的处理程序
        // 例如,通过单击它或在焦点对准时按Enter
        button.setOnAction(e -> {
           //打开信息对话框,打个招呼
           Alert alert = new Alert(AlertType.INFORMATION, "Hello World!?");
           alert.showAndWait();
        });

        // 主窗口中显示的场景的根
        StackPane root = new StackPane();

        // 将按钮添加为根的子代
        root.getChildren().add(button);

        // 创建一个指定根和大小的场景
        Scene scene = new Scene(root, 500, 300);

        // 将场景添加到舞台
        primaryStage.setScene(scene);

        // 使舞台可见
        primaryStage.show();
    }

    public static void main(String[] args) {
        // 启动HelloWorld应用程序。

        // 由于此方法是HelloWorld类的成员,因此第一个
        // 不需要参数
        Application.launch(HelloWorld.class, args);
    }

}

该Application班是每一个JavaFX应用程序的入口点。只能Application启动一个,并且可以使用

Application.launch(HelloWorld.class, args);

这将创建Application作为参数传递的类的实例,并启动JavaFX平台。

以下内容对于此处的程序员很重要:

  1. 首先launch创建Application该类的新实例(HelloWorld在这种情况下)。Application因此,该类需要一个无参数的构造函数。

  2. init()在Application创建的实例上调用。在这种情况下,from的默认实现Application不执行任何操作。

  3. start为Appication实例调用,然后将主Stage窗口(=窗口)传递给该方法。在JavaFX Application线程(平台线程)上自动调用此方法。

  4. 该应用程序将运行,直到平台确定是该关闭为止。在这种情况下,当最后一个窗口关闭时,将完成此操作。

  5. 该stop方法在Application实例上调用。在这种情况下,from的实现Application不执行任何操作。在JavaFX Application线程(平台线程)上自动调用此方法。

在该start方法中,构建了场景图。在这种情况下,它包含2 Nodes:AButton和a StackPane。

该Button表示在用户界面中按钮和StackPane是用于一个容器Button,它确定它的位置。

Scene创建A来显示这些Node。最后,Scene将添加到Stage显示整个UI的窗口。

 类似资料:
  • 我关于stackoverflow的第一个问题: 我在MacOS BigSur11.5.2, 2.3GHz双核i5,8GB。我使用Eclipse IDEJavav4.17。我已经从gluonhq.com下载并配置了JavaFX SDK(v11.0.2) 我正在尝试运行一个基本的JavaFXHelloWorld程序(非常常见,随处可见)。当我运行这个程序时,它所做的就是在我的桌面任务栏中打开一个蓝色的

  • 20.5 远程程序 Spring Boot的开发者工具不仅限于本地开发。当远程运行程序时您也可以使用多项功能。远程支持是可选的,为了启用它您需确保在重打包的存档中包含devtools: <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId>

  • 或许您会这样想,Linux 命令的句型确实不难,但是那么多命令,我怎么知道它们都是作什么的呢?而且不同的系统中,可以使用的命令似乎也不太一样,这真让人困惑…… 其实 Linux 的命令,运行的是 Linux 系统中的程序。只要您已安装了程序,您就可以通过命令来运行它,并且可以使用选项来精细的调整它的运行状态。也可以通过点击启动图标来运行,不过启动图标不能够方便的调整选项,并不是很方便。 举一个例子

  • 问题内容: 我正在做Java试卷,并且遇到了以下使我感到困惑的问题。 以下哪项是正确的?(选择所有适用项。) 答:当应用程序开始运行时,会有一个守护线程,其任务是执行main()。 B.当一个应用程序开始运行时,有一个非守护进程线程,其工作是执行main()。 C.由守护程序线程创建的线程最初也是守护程序线程。 D.由非守护程序线程创建的线程最初也是非守护程序线程。 关键答案是B,C,D,谁能告诉

  • 下图说明数据流如何贯穿整个系统: index.php 作为前端控制器,初始化运行 CodeIgniter 所需要的基本资源。 Router 检查 HTTP 请求,以确定谁来处理请求。 如果缓存(Cache)文件存在,它将绕过通常的系统执行顺序,被直接发送给浏览器。 安全(Security)。应用程序控制器(Application Controller)装载之前,HTTP 请求和任何用户提交的数据将

  • 本文向大家介绍python程序 创建多线程过程详解,包括了python程序 创建多线程过程详解的使用技巧和注意事项,需要的朋友参考一下 一、python线程的模块 1.1 thread和threading模块 thread模块提供了基本的线程和锁的支持 threading提供了更高级别、功能更强的线程管理的功能。 1.2 Queue模块 Queue模块允许用户创建一个可以用于多个线程之间共享数据的

  • 下面的代码应该从用户那里获取两个整数(每个输入一个线程),将它们相加(使用第三个线程)并打印总和。但是程序在第一个线程之后终止。 它给出的输出:

  • 本文向大家介绍C#程序暂停线程,包括了C#程序暂停线程的使用技巧和注意事项,需要的朋友参考一下 要在C#中暂停线程,请使用方法。 您需要设置线程要暂停的毫秒数,例如5秒钟,请使用- 示例 让我们看看如何循环并设置sleep方法来暂停线程。 输出结果