JavaFX学习教程一

news2025/1/16 11:07:38

一、准备工作

Jdk 从 1.8 起支持 JavaFx,到 Jdk 11 不再包含 JavaFx,而是改为 OpenJFX,需要另行安装。

以下是JavaFX的官方教程:

java8(java1.8)的客户端技术说明指南(开发工具为NetBeans IDE ):客户端技术:Java Platform, Standard Edition (Java SE) 8 发行版 8 (oracle.com)

java11以上版本的javafx官方教程(开发工具为IntelliJ IDEA):

Getting Started with JavaFX (openjfx.io)

JavaFX 文档项目 (fxdocs.github.io)

若需要重新升级到更高版本jdk可以看以下教程:

java在一台电脑上装两个或多个jdk如何配置环境变量,并实现jdk切换 - 我不吃鸡儿 - 博客园 (cnblogs.com)

其中jdk的镜像网站:Index of /Adoptium/17/jdk/x64/windows/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 本教程以最新的官方教程为主(jdk11+OpenJFX 17+IntelliJ IDEA2023)

二、JavaFX 和 IntelliJ IDEA

1.下载

javafx的官方下载链接:JavaFX - Gluon (gluonhq.com)

也可以跟着这篇教程下载,里面有网盘资源,下载时确认电脑系统版本。JavaFx(OpenJFX)安装教程详细版_javafx安装教程-CSDN博客

下载后将 javafx 的压缩包放在你自己原来的 java 的 jdk 的同一文件目录下,然后将其解压到当前文件夹中。(放到其他位置也可以,但是需要记住这个文件位置,后续工作需要)

2.配置环境并运行

参考资料:

IDEA配置JavaFX环境-CSDN博客
02、JavaFx环境配置_哔哩哔哩_bilibili

Getting Started with JavaFX (openjfx.io)

1)新建项目,下载javafx插件

点击 file(文件) -> setting(设置) ->pluggings(插件) ->搜索: JavaFX ->勾选启用

我是用的是2023版本的idea,其中内置javafx插件,可以不需要下载

2)添加lib包

File -> Project Structure -> Libraries

点击旁边的 “+” 号 -> 点击 Java -> 找到之前安装的 JavaFX SDK 路径 -> 进入该路径并添加lib包

3)设置jdk版本

File -> Project Structure -> Project,将jdk设置为11或以上

如果是从github获取的项目,注意整体jdk版本的统一

如果之前做项目所用的jdk版本是1.8或者其他,那么可能会报错:Error: java: 错误: 不支持发行版本 XX,请参考文章:解决IntelliJ IDEA报错Error: java: 错误: 不支持发行版本 XX_java: 错误: 不支持发行版本 6-CSDN博客

4)添加vm选项

这是官方文件给出的对项目编译错误的解决方法。

如果运行项目出现

Caused by: java.lang.RuntimeException: Exception in Application start method
	at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:900)
...
Caused by: java.lang.IllegalAccessError: class com.sun.javafx.fxml.FXMLLoaderHelper (in unnamed module @0xXXXXX) cannot access class com.sun.javafx.util.Utils (in module javafx.graphics) because module javafx.graphics does not export com.sun.javafx.util to unnamed module @0xXXXXX
...

 解决方法:

Run -> Edit Configurations-Edit Configurations templates->application->modify options

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

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

相关文章

C++—结构体

结构体(struct),是一种用户自定义复合数据类型,可以包含不同类型的不同成员。 结构体的声明定义和使用的基本语法: // 声明结构体struct 结构体类型 { 成员1类型 成员1名称; ...成员N类型 成员N名称; };除声明…

rockylinux 利用nexus 搭建私服yum仓库

简单说下为啥弄这个私服,因为自己要学习一些东西,比如新版的k8s等,其中会涉及到一些yum的安装,为了防止因网络问题导致yum安装失败,和重复下载,所以弄个私服,当然也有为了意外保障的想法&#x…

网络安全技术与应用:远程控制与数据库安全

实验准备 软件:VMware Workstation Pro 虚拟机:Red Hat Enterprise Linux 7 服务器,Red Hat Enterprise Linux 7 客户端 网络模式:NAT模式 1、配置服务器及客户端网络 服务器IP 客户端IP 测试相互通信 在客户机上设置镜像&#…

nssctf——web

[SWPUCTF 2021 新生赛]gift_F12 1.打开环境后,这里说要900多天会有flag,这是不可能的 2.f12查看源码,然后在html中查找flag (在最上方的栏目中,或者按ctrlf) [SWPUCTF 2021 新生赛]jicao 1.打开环境是一段…

【MySQL】MySQL的安装和基本概念

MySQL的安装和基本概念 一、环境安装1、环境及配置2、下载安装 二、基本概念1、主流数据库2、mysql和mysqld的区别和概念(1)概念1:了解CS结构(2)概念2:数据库指的是什么(3)概念3&…

模板中的右值引用(万能引用)、引用折叠与完美转发

模板中的右值引用(万能引用)、引用折叠与完美转发 文章目录 模板中的右值引用(万能引用)、引用折叠与完美转发一、万能引用与引用折叠1. 模板中的右值引用2. 自动类型推导(auto)与万能引用3. 引用折叠与万能引用4. lambda表达式捕…

巨某量引擎后台登录实战笔记 | Playwright自动化框架

前言 本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 入正题看看滑块是怎么个事…

数字孪生项目开发流程

数字孪生(Digital Twin)项目的开发流程涉及多个步骤,从初始概念到最终部署和维护。以下是一个典型的数字孪生项目开发流程,通过这些步骤,开发团队可以有效地规划、设计、开发和维护数字孪生项目,确保其在实…

YOLOv5 Exception: Dataset not found.

在使用yolo v5训练时弹出了这个报错,就是没有找到数据集,dataset.yaml文件里面的train 和val 的路径配置不对,开始我是使用相对路径,后面修改成绝对路径就可以了

Ubuntu23.04开机时whoopsie-upload-all占用CPU 100%,风扇狂转

Ubuntu23.04开机时,风扇狂转散热,打开终端,输入top -c,查看占用cpu最高的进程,发现是python3在执行whoopsie-upload-all脚本文件。 什么是whoopsie? 这是“Ubuntu错误报告”守护程序,默认安装在…

DAB协议解读ETSI TS 103 461

一、说明 数字信号广播( Digital Audio Broadcasting 简称DAB)是继AM、FM传统模拟广播之后的第三代广播--数字信号广播,它提供了接近CD质量的声音,广播及商机无限的附加数据服务,具有抗噪声、抗干扰、抗电波传播衰落、…

采用LoRA方法微调llama3大语言模型

文章目录 前言一、Llama3模型简介1.下载llama3源码到linux服务器2.安装依赖3.测试预训练模型Meta-Llama-3-8B4.测试指令微调模型Meta-Llama3-8B-Instruct5.小结 二、LoRA微调Llama31.引入库2.编写配置文件3.LoRA训练的产物 三、测试新模型效果1.编写配置文件2.运行配置文件&…

(Qt) 默认QtWidget应用包含什么?

文章目录 ⭐前言⭐创建🛠️选择一个模板🛠️Location🛠️构建系统🛠️Details🛠️Translation🛠️构建套件(Kit)🛠️汇总 ⭐项目⚒️概要⚒️构建步骤⚒️清除步骤 ⭐Code🔦untitled…

Arcpy安装和环境配置

一、前言 ArcPy 是一个以成功的arcgisscripting 模块为基础并继承了arcgisscripting 功能进而构建而成的站点包。目的是为以实用高效的方式通过 Python 执行地理数据分析、数据转换、数据管理和地图自动化创建基础。该包提供了丰富纯正的 Python 体验,具有代码自动…

思维导图-VPN

浏览器集成了受信任的机构的证书

解决word里加入mathtype公式后行间距变大

1.布局>页面设置>文档网格,网格栏选为无网格 2.固定间距

数据库|基于T-SQL创建数据库

哈喽,你好啊,我是雷工! SQL Server用于操作数据库的编程语言为Transaction-SQL,简称T-SQL。 本节学习基于T-SQL创建数据库。以下为学习笔记。 01 打开新建查询 首先连接上数据库,点击【新建查询】打开新建查询窗口, …

Linux基础命令[27]-gpasswd

文章目录 1. gpasswd 命令说明2. gpasswd 命令语法3. gpasswd 命令示例3.1 不加参数3.2 -a(将用户加入组)3.3 -d(从组中删除用户)3.4 -r(删除组密码)3.5 -M(多个用户一起加入组)3.6 …

23种设计模式(持续输出中)

一.设计模式的作用 设计模式是软件从业人员长期总结出来用于解决特定问题的通用性框架,它提高了代码的可维护性、可扩展性、可读性以及复用性。 二.设计模式 1.工厂模式 工厂模式提供了创建对象的接口,而无需制定创建对象的具体类,工厂类…

kafka集群跨区域跨集群同步方案MirrorMaker1 —— 筑梦之路

MirrorMaker原理架构 数据流向 上图也是一种比较常见的用法,这里作为记录。下面介绍一则实战案例。 网络架构 配置日志采集器filebeat 配置从哪里采集日志 输出到kafka集群 配置MirrorMaker消费者 参数说明: bootstrap.servers 指定消费哪个kafka的数…