初识JavaFX-IDEA中创建第一个JavaFX项目

ops/2025/2/28 15:21:17/

前言

按照本文的步骤开发,可以实现完整的项目的创建与启动。
同时,针对 运行时提示 缺少 Java FX 组件的 异常 也不会出现。

环境介绍

创建步骤

下载JavaFx 的sdk

  • 下载地址 : https://gluonhq.com/products/javafx/
  • 找到对应的系统以及版本下载即可
  • 下载完成后,**放到指定的目录下,解压备用** : 很关键,后面会用到这个目录。
    在这里插入图片描述

创建普通的maven项目

使用 IDEA 创建一个普通的maven项目即可,不再赘述。

添加JavaFx的依赖

在 pom.xml 中添加如下依赖:

 <dependency><groupId>org.openjfx</groupId><artifactId>javafx-controls</artifactId><version>17.0.6</version></dependency>

代码开发

主窗口类

创建窗口的核心类

java">package com.javafx;import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;public class StartUpMain extends Application {/*** 核心方法,创建窗口* @throws Exception*/@Overridepublic void start(Stage primaryStage) throws Exception {System.out.println("start run ..."+Thread.currentThread().getName());// 创建一个标签Label label = new Label("Hello, JavaFX!");// 创建一个布局容器StackPane root = new StackPane();root.getChildren().add(label);// 创建一个场景Scene scene = new Scene(root, 300, 250);// 设置舞台的标题primaryStage.setTitle("JavaFX 窗口示例");// 将场景设置到舞台primaryStage.setScene(scene);// 展示窗口primaryStage.show();}@Overridepublic void init() throws Exception {System.out.println("init run..."+Thread.currentThread().getName());}@Overridepublic void stop() throws Exception {System.out.println("stop run..."+Thread.currentThread().getName());}
}

主类

程序入口

java">package com.javafx;import javafx.application.Application;/*** Main class*/
public class App
{public static void main( String[] args ){System.out.println( "main() : " + Thread.currentThread().getName() );// 启动窗口 - 指定主窗口类Application.launch(StartUpMain.class, args);}}

配置运行环境(关键)

配置 虚拟机参数,指定 Java FX 的sdk的位置
此处的 Java FX 的sdk的位置,就是 上面下载之后,解压的路径,根据自己的来配置即可。

--module-path /xx/xxx/javafx-sdk-17.0.14/lib --add-modules javafx.fxml,javafx.controls

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

至此,环境配置完成。

运行

运行主类,查看效果。
成功展示出来了窗口!

在这里插入图片描述

至此,Java FX的基础的项目搭建就完成了!


http://www.ppmy.cn/ops/162001.html

相关文章

SQL注入(一)—— sql手动注入实操

SQL SQL注入 sql 注入的核心 SQL 手注的一般流程 判断注入点 —— 第一步 判断字段数 —— 第二步 判断回显点 —— 第三步 查询相关内容 —— 第四步 判断库名 判断表名 判断列名 查询具体信息 总结 SQL注入 SQL注入攻击是目前web应用网络攻击中最常见的手段之一&#xff0c;曾…

BS架构网络安全 网络安全架构分析

&#x1f345; 点击文末小卡片 &#xff0c;免费获取网络安全全套资料&#xff0c;资料在手&#xff0c;涨薪更快 文章目录 Web架构安全分析 一、web工作机制 1. 简述用户访问一个网站的完整路径2. web系统结构 二、url 1. 概述2. 完整格式3. url编码 三、HTTP 1. reque…

神经网络 - 激活函数(Sigmoid 型函数)

激活函数在神经元中非常重要的。为了增强网络的表示能力和学习能力&#xff0c;激活函数需要具备以下几点性质: (1) 连续并可导(允许少数点上不可导)的非线性函数。可导的激活函数可以直接利用数值优化的方法来学习网络参数. (2) 激活函数及其导函数要尽可能的简单&#xff0…

手持云台32位单片机主控芯片

手持云台方案采用的高性能32位单片机&#xff0c;适用于手持云台量身定制&#xff0c;旨在满足其对复杂运动控制和稳定性需求。通过运用尖端算法和传感器数据融合技术&#xff0c;单片机能够实时进行计算&#xff0c;补偿手持云台在运动中的抖动&#xff0c;确保拍摄画面的稳定…

【第十节】C++设计模式(结构型模式)-Flyweight( 享元)模式

目录 一、问题背景 二、模式选择 三、代码实现 四、总结讨论 一、问题背景 享元模式&#xff08;Flyweight Pattern&#xff09;在对象存储优化中的应用 在面向对象系统的设计与实现中&#xff0c;创建对象是最常见的操作之一。然而&#xff0c;如果一个应用程序使用了过多…

React 第二十七节 <StrictMode> 的使用方法及注意事项

一、StrictMode 的核心作用 React StrictMode 是 React 16.3 引入的开发辅助工具&#xff0c;通过主动触发特殊检查帮助开发者提前发现潜在问题。它像一位严格的代码审查员&#xff0c;在开发阶段执行以下关键任务&#xff1a; 1、副作用探测器 2、故意双调用构造函数、rende…

5分钟学习-什么事前端HTML文件

以下从 HTML 文件的基本概念、结构、常用标签等方面&#xff0c;以新手容易理解的方式进行介绍&#xff0c;并给出示例帮助新手看懂 HTML 文件。 1. 什么是 HTML 文件 HTML 即超文本标记语言&#xff08;HyperText Markup Language&#xff09;&#xff0c;它是用于创建网页的…

Java I/O 与 NIO 核心区别及应用场景详解

一、核心概念对比 特性传统 I/O (BIO)NIO (New I/O)模型同步阻塞模型同步非阻塞模型数据流方向单向流&#xff08;InputStream/OutputStream&#xff09;双向通道&#xff08;Channel&#xff09;数据操作单元基于字节/字符流基于缓冲区&#xff08;Buffer&#xff09;线程模型…