JavaFx之Hello, World!

news2024/12/25 9:06:52

当使用 JavaFX 进行应用程序开发时,Application 类是一个关键组件。它是 JavaFX 应用程序的入口点,负责启动应用程序并设置应用程序的主舞台(Stage)和场景(Scene)。下面是一个详细介绍 Application 类并带有示例代码的案例,其中单击按钮将弹出一个 "Hello, World!" 的对话框。

package com.example.demo1;

import javafx.application.Application;

import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

import java.io.IOException;

public class HelloApplication extends Application {
    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) {
        // 设置舞台标题
        primaryStage.setTitle("Hello World App");

        // 创建按钮
        Button button = new Button("Click Me");

        // 设置按钮点击事件处理逻辑
        button.setOnAction(event -> {
            // 创建对话框
            Alert alert = new Alert(Alert.AlertType.INFORMATION);
            alert.setTitle("Hello");
            alert.setHeaderText(null);
            alert.setContentText("Hello, World!");

            // 显示对话框
            alert.showAndWait();
        });

        // 创建布局并将按钮添加到布局中
        StackPane layout = new StackPane();
        layout.getChildren().add(button);

        // 创建场景并将布局设置为场景的根节点
        Scene scene = new Scene(layout, 300, 200);

        // 将场景设置到舞台
        primaryStage.setScene(scene);

        // 显示舞台
        primaryStage.show();
    }
}


在上面的代码中,我们创建了一个名为 HelloWorldApp 的类,它扩展了 Application 类,并重写了 start() 方法。以下是代码中的关键部分:

创建了一个按钮 Button。
使用 button.setOnAction() 方法为按钮添加点击事件处理逻辑。在这个例子中,当按钮被点击时,创建了一个信息对话框 Alert,设置对话框的标题和内容为 "Hello, World!"。
调用 alert.showAndWait() 显示对话框,直到对话框被关闭。
注意:我们使用 AlertType.INFORMATION 创建了一个信息对话框,但 JavaFX 还提供了其他类型的对话框,如警告对话框、错误对话框等。

创建了一个布局 StackPane,并将按钮添加到布局中。
创建了一个场景 Scene,并将布局设置为场景的根节点。这里设置了场景的宽度为 300 像素,高度为 200 像素。
将场景设置到舞台 Stage。
显示舞台。
运行这个示例,将会显示一个带有一个按钮的窗口。当按钮被点击时,将弹出一个 "Hello, World!" 的对话框。

请确保已正确设置 JavaFX 环境并在编译和运行时包含了 JavaFX 相关的库和配置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/995403.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL——锁

简介 多线程访问共享资源的时候,避免不了资源竞争而导致数据错乱的问题,所以我们通常为了解决这一问题,都会在访问共享资源之前加锁。 锁的分类 Mysql中的锁机制基本上都是采用的悲观锁来实现的。 行锁 行锁就是一锁锁一行或者多行记录&a…

【Spatial-Temporal Action Localization(一)】认识时空动作定位

文章目录 任务定义任务难点数据集任务现状评估指标可以思考的创新的角度 不错的博客,还有框架推荐 南京大学开源MultiSports:面向体育运动场景的细粒度多人时空动作检测数据集… 论文阅读推荐、Video Understanding(3)Spatio-Te…

d3dcompiler_47.dll缺失怎么修复,这个方法电脑小白也能学会

在计算机领域,d3dcompiler_47.dll文件是DirectX的一部分,用于执行硬件加速的图形渲染。当遇到“找不到d3dcompiler_47.dll丢失”的问题时,通常表示系统缺少此文件或其路径设置不正确。本文将介绍一些详细解决方法,帮助您解决这个问…

外观数列问题

给定一个正整数 n ,输出外观数列的第 n 项。 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。 你可以将其视作是由递归公式定义的数字字符串序列: countAndSay(1) "1" countAndSay(n…

Docker的架构描述与安装部署

概述 Docker是一个开放的容器化平台,其提供能力轻松地支撑业务应用的开发、打包、装载、分发以及运行,在DevOps领域中,docker能高效地应对业务应用的持续集成以及持续发布(CI/CD),其架构如下所示&#xff…

2023金九银十必看前端面试题!2w字精品!

文章目录 导文CSS1. 请解释CSS的盒模型是什么,并描述其组成部分。2. 解释CSS中的选择器及其优先级。3. 解释CSS中的浮动(float)是如何工作的,并提供一个示例。4. 解释CSS中的定位(position)属性及其不同的取…

机器人制作开源方案 | 桌面级机械臂--应用设计

本节内容将基于机器视觉带着大家进行应用实训。机器视觉是人工智能正在快速发展的一个分支,简单说来机器视觉就是用机器代替人眼来做测量和判断。机器视觉系统是通过机器视觉产品(即图像摄取装置,分CMOS和CCD两种)将被摄取目标转换…

Spring声明式事务

编程式事务 Spring-tx 声明式事务可以理解为对编程式事务的一个封装 spring-tx 使用多态的形式,满足不同类型的事务需求 【尚硅谷新版SSM框架全套视频教程,Spring6SpringBoot3最新SSM企业级开发】https://www.bilibili.com/video/BV1AP411s7D7?p60&vd_source7…

【算法与数据结构】98、LeetCode验证二叉搜索树

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析&#xff1a;注意不要落入下面你的陷阱&#xff0c;笔者本来想左节点键值<中间节点键值<右节点键值即可&…

微信小程序支付

当下&#xff0c;微信小程序十分火爆&#xff0c;现在无论是购物还是生活服务&#xff0c;都是推荐你使用微信小程序&#xff0c;主要是它无需下载安装就可以使用&#xff0c;让手机变得非常清爽&#xff0c;给用户也带来很大的方便之处。 今天给大家分享的是&#xff0c;微信…

win10 任务栏预览设置为列表效果

背景 在win10系统&#xff0c;当同一个应用&#xff08;如文件资源管理器&#xff0c;git bash&#xff0c;word等&#xff09;打开多个页面时&#xff0c;当个数少于17&#xff08;大约&#xff09;个时&#xff0c;其默认预览效果为平铺&#xff0c;在大于17个时&#xff0c…

【Android知识笔记】UI体系(四)

事件分发原理 屏幕事件会由Linux通过JNI传给WMS(WindowManagerService),然后由WMS传给Activity,最终经过PhoneWindow->DecorView开始往下分发。 View的事件分发 View的事件分发核心源码为 dispatchTouchEvent() 方法: public boolean dispatchTouchEvent(MotionEvent …

如何制作非对称型加密

非对称加密是一种常见的加密方式&#xff0c;它使用一对密钥&#xff1a;公钥和私钥。下面是一种制作非对称加密的基本步骤&#xff1a; 首先&#xff0c;生成一对公钥和私钥。公钥是用于加密的&#xff0c;可以公开给其他人使用&#xff0c;而私钥是用于解密的&#xff0c;需要…

1-centOS7搭建伪分布式

前言&#xff1a;虚拟机快照的使用 VMware Workstation 软件可以用快照进行迅速的虚拟机状态的切换 ※. 类似于虚拟机备份&#xff0c; 可以使用备份进行快速恢复。 比如没安装jdk之前拍摄快照来备份 ※. 若jdk没安装好或者jdk环境变量配置的有问题&#xff0c; 可以用安装之…

【C语言基础】那些你可能不知道的C语言“潜规则”

&#x1f4e2;&#xff1a;如果你也对机器人、人工智能感兴趣&#xff0c;看来我们志同道合✨ &#x1f4e2;&#xff1a;不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 &#x1f4e2;&#xff1a;文章若有幸对你有帮助&#xff0c;可点赞 &#x1f44d;…

公务员和事业单位的差别有多大?

公务员和事业单位是两种不同的就业形式和组织类型&#xff0c;它们在以下几个方面存在一些差别&#xff1a; 1. 归属关系&#xff1a;公务员属于政府部门的编制人员&#xff0c;直接依附于政府机构。而事业单位是独立法人实体&#xff0c;独立承担法人责任&#xff0c;不隶属于…

2023年-暑期旅行的复盘(0701~0820)

目录 一、旅行城市及线路图&#xff08;22&#xff09;二、3个战略目标三、旅行 3 原则四、数据统计五、总结附录1-消费明细-南方&#xff08;0701~0725&#xff09;7月1日----深圳7月2日----香港7月3日----深圳7月4日----佛山7月5日----澳门7月6日----深圳7月7日----福州7月8日…

趣链BaaS服务平台调研

目录 一、菜单功能二、其他说明2.1、服务平台的部署方式2.2、链本身2.3、核心使用流程 趣链hyperchain管理平台文档地址&#xff1a;https://docs.hyperchain.cn/document/overview?type1 一、菜单功能 菜单子菜单/功能点子菜单/功能点功能描述控制台平台概览主要用于展示当…

【vue2第十六章】VueRouter 声明式导航(跳转传参)、路由重定向、页面未找到的提示页面404、vue路由模式设置

声明式导航(跳转传参) 在一些特定的需求中&#xff0c;跳转路径时我们是需要携带参数跳转的&#xff0c;比如有一个搜索框&#xff0c;点击搜索的按钮需要跳转到另外一个页面组件&#xff0c;此时需要把用户输入的input框的值也携带到那页面进行发送请求&#xff0c;请求数据。…

golang validator 包的使用指北

看到 validator 咱们第一反应会想起啥&#xff1f;见名知意我就可以知道他是一个验证器&#xff0c;如果用过 gin web 框架的同学&#xff0c;自然是用过 gin 里面的 validator&#xff0c;只不过 gin 中使用的关键字是 binding 去做标识 开门见山 Validator 实际上是一个验证…