0

0

使用 javafx 的 java 库

WBOY

WBOY

发布时间:2024-02-22 12:25:05

|

691人浏览过

|

来源于stackoverflow

转载

php小编苹果为您带来关于使用javafx的java库的问答内容。javafx是java平台上的现代图形用户界面工具包,为开发人员提供了丰富的图形化应用程序开发功能。本文将回答关于javafx库的使用问题,帮助您更好地利用javafx进行开发。让我们一起来探索javafx库的奥秘吧!

问题内容

简单描述:

如何创建一个使用 javafx 窗口的 java 库(该库具有绘图功能,能够创建弹出窗口),而无需扩展 application javafx 类的类,以及如何发送使用我的创建的应用程序作为 fatjar 的库?

完整描述:

我正在开发一个数据帧库,因为我需要一个可序列化的表/数据帧。我没有找到任何实现可序列化的java数据帧库。我的图书馆快完成了。主要逻辑工作完美等。我的库将具有绘图函数来绘制表数据。我已经通过“chart-fx”库实现了此功能。我创建了一个起点类(“具有静态主函数的类”)来测试我的库并查看绘图是否正常。在 intellij ide 中执行时一切运行良好。但是当我在maven中生成一个包(fatjar)并运行生成的jar时,我收到错误:“java.lang.unsupportedoperationexception:无法解析'fa-arrows-alt'”。 我认为在我的库的实现中最奇怪的事情是,当我开发一个库而不是一个应用程序时,我在创建 javafx 应用程序时没有遵循标准线,即创建一个扩展 application 类的类javafx。 相反,我使用静态方法“platform.startup(“这里带有我的javafx代码的lambda函数”)”。 下面是使用“-dprism.verbose=true”选项运行生成的 fatjar 时的控制台日志。

jan. 25, 2024 3:55:38 PM com.sun.javafx.application.PlatformImpl startup
WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @3b192d32'
Prism pipeline init order: d3d sw
Using Double Precision Marlin Rasterizer
Using dirty region optimizations
Not using texture mask for primitives
Not forcing power of 2 sizes for textures
Using hardware CLAMP_TO_ZERO mode
Opting in for HiDPI pixel scaling
Prism pipeline name = com.sun.prism.d3d.D3DPipeline
Loading D3D native library ...
        succeeded.
D3DPipelineManager: Created D3D9Ex device
Direct3D initialization succeeded
(X) Got class = class com.sun.prism.d3d.D3DPipeline
Initialized prism pipeline: com.sun.prism.d3d.D3DPipeline
Maximum supported texture size: 16384
Maximum texture size clamped to 4096
OS Information:
        Windows version 10.0 build 19042
D3D Driver Information:
        NVIDIA GeForce GT 710
        \\.\DISPLAY1
        Driver nvldumdx.dll, version 27.21.14.5671
        Pixel Shader version 3.0
        Device : ven_10DE, dev_128B, subsys_118B10DE
        Max Multisamples supported: 4
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
java.lang.UnsupportedOperationException: Cannot resolve 'fa-arrows-alt'
        at org.kordamp.ikonli.AbstractIkonResolver.resolve(AbstractIkonResolver.java:61)
        at org.kordamp.ikonli.javafx.IkonResolver.resolve(IkonResolver.java:73)
        at org.kordamp.ikonli.javafx.FontIcon.setIconLiteral(FontIcon.java:251)
        at org.kordamp.ikonli.javafx.FontIcon.(FontIcon.java:92)
        at io.fair_acc.chartfx.plugins.Zoomer.getZoomInteractorBar(Zoomer.java:421)
        at io.fair_acc.chartfx.plugins.Zoomer.(Zoomer.java:148)
        at io.fair_acc.chartfx.plugins.Zoomer.(Zoomer.java:252)
        at io.fair_acc.chartfx.plugins.Zoomer.(Zoomer.java:243)
        at sst.visualization.chartFxBased.LineChart.lambda$plot$1(LineChart.java:85)
        at com.sun.javafx.application.PlatformImpl.lambda$startup$5(PlatformImpl.java:294)
        at com.sun.glass.ui.Application.invokeAndWait(Application.java:470)
        at com.sun.javafx.tk.quantum.QuantumToolkit.runToolkit(QuantumToolkit.java:377)
        at com.sun.javafx.tk.quantum.QuantumToolkit.lambda$startup$10(QuantumToolkit.java:290)
        at com.sun.glass.ui.Application.lambda$run$1(Application.java:155)
        at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
        at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:185)
        at java.base/java.lang.Thread.run(Thread.java:1583)
 vsync: true vpipe: true

我尝试过的事情:

1 - 使用“--module-path”和“--add-modules”运行我的程序。完整控制台命令:“java --module-path c:/javafx-jmods --add-modules javafx.base -jar sst-0.0.1.0-withdependency.jar”。将“javafx.base”更改为另一个模块名称时,我收到“module javafx.base not found”错误。

2 - 将“javafx-maven-plugin”添加到我的 pom.xml 中。好像没有效果。

我的想法:

我记得几天前我创建了一个 javafx 应用程序,它扩展了已运行的应用程序类 i。

立即学习Java免费学习笔记(深入)”;

吐司AI
吐司AI

超多功能的免费在线生图网站!拥有全网更齐全的模型库,0门槛使用!

下载

替代问题:

因为我对“platform.startup”的用法感到奇怪,所以告诉我这是否是创建不是应用程序的javafx图的正确方法(在屏幕上创建弹出窗口的通用东西)。因为关于 javafx 的几乎一切都很复杂,更侧重于应用程序。我什至不确定 javafx 的安装。我不想做一门课程,甚至不想读书,不想浪费一个月的学习时间来学习我做过的事情(绘制我的数据框图表)。

解决方法

当使用javafx到非应用程序时,可以使用“Platform.startup”静态方法。您可以将 Maven 依赖项添加到您的 pom 中,而无需安装 javafx 的 .jmods 或使用 java 模块系统。

特别是对于“chart-fx”库使用的库“ikonli”,会导致在生成 fatJar 时替换依赖项服务的问题(“位于 META-INF/jar 服务中的文件”)。为了避免替换服务文件并合并它们,需要添加特定的 maven resource transformerServiceResourceTransformer”,以便在需要时合并服务内容。

学到的东西:

  1. 不需要使用模块化系统来与 javaFX 配合使用,也不需要拥有 javaFX sdk 或 jmods。
  2. fatJar 可能不是传送 Java 应用程序的最安全方式,因为资源和文件之间始终存在冲突的风险。

感谢: @Sedj601、@jwelsea 和 @Slaw 寻求帮助。

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
java
java

Java是一个通用术语,用于表示Java软件及其组件,包括“Java运行时环境 (JRE)”、“Java虚拟机 (JVM)”以及“插件”。php中文网还为大家带了Java相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

841

2023.06.15

java正则表达式语法
java正则表达式语法

java正则表达式语法是一种模式匹配工具,它非常有用,可以在处理文本和字符串时快速地查找、替换、验证和提取特定的模式和数据。本专题提供java正则表达式语法的相关文章、下载和专题,供大家免费下载体验。

742

2023.07.05

java自学难吗
java自学难吗

Java自学并不难。Java语言相对于其他一些编程语言而言,有着较为简洁和易读的语法,本专题为大家提供java自学难吗相关的文章,大家可以免费体验。

738

2023.07.31

java配置jdk环境变量
java配置jdk环境变量

Java是一种广泛使用的高级编程语言,用于开发各种类型的应用程序。为了能够在计算机上正确运行和编译Java代码,需要正确配置Java Development Kit(JDK)环境变量。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

397

2023.08.01

java保留两位小数
java保留两位小数

Java是一种广泛应用于编程领域的高级编程语言。在Java中,保留两位小数是指在进行数值计算或输出时,限制小数部分只有两位有效数字,并将多余的位数进行四舍五入或截取。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

399

2023.08.02

java基本数据类型
java基本数据类型

java基本数据类型有:1、byte;2、short;3、int;4、long;5、float;6、double;7、char;8、boolean。本专题为大家提供java基本数据类型的相关的文章、下载、课程内容,供大家免费下载体验。

446

2023.08.02

java有什么用
java有什么用

java可以开发应用程序、移动应用、Web应用、企业级应用、嵌入式系统等方面。本专题为大家提供java有什么用的相关的文章、下载、课程内容,供大家免费下载体验。

430

2023.08.02

java在线网站
java在线网站

Java在线网站是指提供Java编程学习、实践和交流平台的网络服务。近年来,随着Java语言在软件开发领域的广泛应用,越来越多的人对Java编程感兴趣,并希望能够通过在线网站来学习和提高自己的Java编程技能。php中文网给大家带来了相关的视频、教程以及文章,欢迎大家前来学习阅读和下载。

16926

2023.08.03

Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

19

2026.01.20

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号