JavaFX学习教程一

devtools/2024/10/21 5:41:34/

一、准备工作

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 methodat 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.ppmy.cn/devtools/42462.html

相关文章

【C语言回顾】联合和枚举

前言1. 联合体1.1 联合体的声明1.2 联合体的特点1.3 联合体的使用 2. 枚举2.1 枚举的声明2.2 枚举的特点2.3 枚举的使用 结语 #include<GUIQU.h> int main { 上期回顾: 【C语言回顾】结构体 个人主页&#xff1a;C_GUIQU 专栏&#xff1a;【C语言学习】 return 一键三连;…

vue3 vant4实现抖音短视频功能

文章目录 1. 实现效果2. 精简版核心代码3. 完整功能点&#xff08;本文章不写&#xff0c;只写核心代码&#xff09; 1. 实现效果 2. 精简版核心代码 使用的 vue3 vant4组件使用van-swipe进行轮播图切换实现 <template><div :style"{width: width px,overflo…

二叉树求解大小操作详解

目录 一、求所有结点个数 1.1 递归思路 1.2 递归分支图 1.3 递归栈帧图 1.4 C语言实现 二、求叶子结点个数 2.1 递归思路 2.2 递归分支图 2.3 递归栈帧图 2.4 C语言实现 三、求第K层的结点个数 3.1 递归思路 3.2 递归分支图 3.3 递归栈帧图 3.4 C语言实现 四、求…

Java代码审计---SpEL表达式注入

简单了解 SpEL&#xff08;Spring Expression Language&#xff09; 是 Spring 中的表达式语言&#xff0c;用于在运行时评估和处理表达式。它提供了一种灵活的方式来访问和操作对象的属性、方法和其他表达式。SpEL可以用于配置文件、注解、XML 配置等多种场景&#xff0c;用于…

k8s遇到的错误记录

时隔四年有开始重新鼓捣k8s了&#xff0c;重新安装后遇到的错误记录如下&#xff1a; Error: Package: kubelet-1.14.0-0.x86_64 (kubernetes) Requires: kubernetes-cni 0.7.5 Available: kubernetes-cni-0.3.0.1-0.07a8a2.x86_64 (kubernetes) …

Python 全栈体系【四阶】(五十二)

第五章 深度学习 十二、光学字符识别&#xff08;OCR&#xff09; 2. 文字检测技术 2.1 CTPN&#xff08;2016&#xff09; 2.1.1 概述 CTPN全称Detecting Text in Natural Image with Connectionist Text Proposal Network&#xff08;基于连接文本提议网络的自然图像文本…

pdfbox pdf转换图片时中文丢失,变成方框,提示No glyph for xxx in font STSong-Light

使用pdfbox转换图片时&#xff0c;转换出来的图片中文丢失&#xff0c;变成方框。原因是由于服务器字体缺失&#xff0c;pdfbox在转换时找不到合适的字体。 有几种方案&#xff1a; 服务器安装字体&#xff0c;具体资源百度使用备用字体。 将pdfbox中的FontMapperImpl类&…

Nacos 进阶篇---Nacos服务端怎么维护不健康的微服务实例 ?(七)

一、引言 在 Nacos 后台管理服务列表中&#xff0c;我们可以看到微服务列表&#xff0c;其中有一栏叫“健康实例数” &#xff08;如下图&#xff09;&#xff0c;表示对应的客户端实例信息是否可用状态。 那Nacos服务端是怎么感知客户端的状态是否可用呢 &#xff1f; 本章…