2 Star 6 Fork 1

penngo / DFDiff

加入 Gitee
与超过 1000 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README.md

DFDiff

1、介绍

DFDiff是一款使用Java Swing开发的,并使用Graalvm编译成原生应用的文本处理工具,提供文本编辑和文本对比功能。

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

3.2.1、编译构建为jar包
mvn package
3.2.2、使用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
# 或
mvn -Pnative -Dagent exec:exec@java-agent
3.2.3、编译为原生应用,Window平台下为DFDiff.exe,Linux平台上为DFDiff
native-image --verbose --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
# 或
mvn -DskipTests=true -Pnative -Dagent package
3.2.4、把console程序转为GUI程序

Grallvm编译后的原生应用默认为控制台运行,window下运行时带黑色窗体,可以通过以下命令转为GUI程序。
editbin使用介绍:https://learn.microsoft.com/zh-cn/cpp/build/reference/editbin-options?view=msvc-160

editbin /subsystem:windows DFDiff.exe
3.2.5、添加应用图标

window下修改应用图标可以使用第三方工具WinRun4J:https://github.com/poidasmith/winrun4j

RCEDIT.exe /I DFDiff.exe logo.ico
3.3、编译后文件
3.3.1、Windows平台编译后得到的运行文件

目录对比

3.3.2、Linux平台编译后得到的运行文件**

目录对比

  • Window平台下运行
双击DFDiff.exe运行

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

4、已实现菜单功能

├──文件
|   ├─新建文件
|   ├─打开文件
|   ├─打开文件夹
|   ├─最近打开的文件/文件夹
|   ├─保存文件
|   ├─另存文件
|   └──退出
├──编辑
|   ├─撤消
|   ├─恢复
|   ├─复制
|   ├─粘贴
|   ├─剪切
|   ├─查找...
|   ├─字体
|   ├─换行
|   └──恢复
├──工具
|   ├─文件夹对比
|   ├─文件对比
|   └──json格式化
├──窗口
|   ├─窗口层叠
|   └──窗口最小化
└──帮助
    └──关于

5、运行截图

5.1、Windows下运行截图
5.1.1、文本编辑功能

文本编辑

5.1.2、文件夹差异对比

目录对比

5.1.3、文件差异对比

文件对比

5.2、Linux平台下运行截图

运行程序

./DFDiff
5.2.1、Ubuntu 20运行截图

文本编辑

5.2.2、Centos 7运行截图

目录对比

5.2.3、Uos 20运行截图

目录对比

5.2.4、银河麒麟V10运行截图

目录对比

简介

DFDiff是一款使用Java Swing开发的,并使用Graalvm编译成原生应用的文本处理工具,提供文本编辑和文本对比功能。 展开 收起
Java
Apache-2.0
取消

发行版 (3)

全部

DFDiff

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/penngo/dfdiff.git
git@gitee.com:penngo/dfdiff.git
penngo
dfdiff
DFDiff
master

搜索帮助

E71a60c3 8189591 Df7b7c6b 8189591