使用Graalvm+Swing搓了个原生桌面应用的轮子:文件差异对比工具,附轮子源码

这篇具有很好参考价值的文章主要介绍了使用Graalvm+Swing搓了个原生桌面应用的轮子:文件差异对比工具,附轮子源码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、DFDiff介绍

当前已实现的功能比较两个文件夹内的文件差异,已支持文件差异对比。

2、软件架构

软件架构说明
开发环境是在OpenJDK17,UI使用的是Swing + SwingX扩展控件,使用Graalvm编译为原生应用。

  • 文件列表使用的Swingx组件的JXTreeTable。
  • 文件差异对比使用的Swingx组件的JXTable。
3、安装教程
3.1、编译为jar包运行

需要使用maven。
编译构建为jar包

mvn package

运行

java -jar DFDiff-1.0.0-jar-with-dependencies.jar
3.2、编译为原生应用运行

,除了Maven,还需要Graalvm
编译构建为jar包

mvn package

使用native-image-agent(Graalvm内工具)工具来收集这些运行库信息

java -agentlib:native-image-agent=config-output-dir=META-INF/native-image -jar DFDiff-1.0.0-jar-with-dependencies.jar

编译为原生应用,Window平台下为DFDiff.exe

native-image --verbose --static --no-fallback -H:ConfigurationFileDirectories=META-INF/native-image --link-at-build-time --allow-incomplete-classpath -jar DFDiff-1.0.0-jar-with-dependencies.jar DFDiff

GraalVM编译后得到的运行文件
使用Graalvm+Swing搓了个原生桌面应用的轮子:文件差异对比工具,附轮子源码

Window平台下运行

双击DFDiff.exe运行

GraalVM编译的Window版本下载:dfdiff-windows-1.0-beta

4、运行效果图
  1. 目录差异对比
    使用Graalvm+Swing搓了个原生桌面应用的轮子:文件差异对比工具,附轮子源码

  2. 文件差异对比
    使用Graalvm+Swing搓了个原生桌面应用的轮子:文件差异对比工具,附轮子源码

5、项目源码地址

项目源码文章来源地址https://www.toymoban.com/news/detail-473312.html

到了这里,关于使用Graalvm+Swing搓了个原生桌面应用的轮子:文件差异对比工具,附轮子源码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《java 桌面软件开发》swing 以鼠标为中心放大缩小移动图片

    swing 使用Graphic2D 绘制图片,要实现对图片进行缩放和自由拖动。 1.以鼠标所在的位置为中心,滚轮控制缩放 2.缩放后再支持鼠标拖动。 基本原理: 利用scale() 函数。进行缩放。但是要注意的地方是,如果是在 public void paintComponent(Graphics g) 里面通过这个Graphics g 参数获取gra

    2024年02月06日
    浏览(54)
  • 【云原生】监视Docker桌面的容器内存和CPU使用情况

    目录 一、如何监视Docker桌面的容器内存和CPU使用情况 1、stats命令 2、Docker 统计命令stats是如何工作的 2.1、命令与描述 2.2、OPTIONS 2.3、例子 2.4、格式化 3、满足资源使用扩展 4、如何安装“资源使用情况”扩展插件? 5、总结     Docker 有一个内置的 stats 命令,可以简单地查看

    2023年04月09日
    浏览(40)
  • graalvm安装并使用native-image

    下载graalvm,可以直接去官网下载 https://www.graalvm.org/downloads/ github地址 https://github.com/graalvm/graalvm-ce-builds/releases/tag/vm-22.1.0 这里以jdk11为例 https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.1.0/graalvm-ce-java11-windows-amd64-22.1.0.zip native-image的jar https://github.com/graalvm/graalvm-ce-builds/r

    2024年02月06日
    浏览(50)
  • 如何使用Python进行桌面应用开发?

    Python提供了多个库和框架来进行桌面应用开发。以下是使用Python进行桌面应用开发的常用方法之一: PyQt:PyQt是一个用于开发跨平台桌面应用的Python库,它提供了丰富的GUI组件和工具。以下是使用PyQt创建桌面应用的基本步骤: a. 安装PyQt库:使用pip命令安装PyQt库,例如: p

    2024年02月17日
    浏览(44)
  • 如何使用Java进行桌面应用的开发?

    使用Java进行桌面应用的开发可以借助JavaFX或Swing框架。下面为你提供一些基本的步骤: 安装Java开发工具包(JDK):首先,确保你已经安装了Java开发工具包(JDK),并正确配置了环境变量。 选择GUI框架:Java提供了两个主要的桌面GUI框架:JavaFX和Swing。JavaFX是Oracle推荐的最新的

    2024年02月09日
    浏览(50)
  • 使用angular和electron 构建桌面应用

    新建一个angular app 修改src/index.html文件内容 将绝对路径改为相对路径,加个点,使electron可以访问到angular文件资源

    2024年02月14日
    浏览(40)
  • graalvm学习(九) 如何使用ide debugger graal源码

    新建一个java文件 执行mx命令

    2024年01月16日
    浏览(45)
  • ImageIO的应用 (AWT和Swing初接触)

    在讲imageio之前,我们先来复习一下IO流的使用。 这里我建立一个Java类,用来实现读取文档中的内容,并且能够识别换行,话不多说,上代码: 代码是不是简洁易懂?有手就行。 注意一下,这里的文档需要建立在 F:Java_PrjJava_Project 包下 这里贴张图,展示一下文档内容 然后

    2024年02月08日
    浏览(70)
  • 如何使用Vue.js构建桌面应用程序

    Vue.js是一个流行的JavaScript框架,可以用于构建Web应用程序。但是,Vue.js也可以用于构建桌面应用程序。本文将介绍如何使用Vue.js构建桌面应用程序,包括以下步骤: 1. 选择一个Vue.js框架:选择一个适合你的Vue.js框架。我们推荐使用Electron,因为它是最流行的桌面应用程序框架

    2024年02月15日
    浏览(52)
  • SpringBoot3之GraalVM之Windows详细安装及使用教程

    我直接使用的是IDEA plugins文件夹下的maven 新建MAVEN_HOME环境变量 Path环境变量追加 因为GraalVM需要调用操作系统的底层工具,而Windows底层工具是VisualStudio,所以我们要先下载安装好VisualStudio。 下载Visual Studio Community 《Visual Studio Community官网下载》 下载完以后直接安装即可 选择

    2024年02月14日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包