我正在编写一个程序,我需要生成一个diff并显示结果。是否有任何GUI组件,我可以轻松完成此任务,或者我是否需要为自己破解某些内容?
我更喜欢使用Swing组件,但任何其他技术也都可以。
答案 0 :(得分:2)
如果您在NetBeans平台上构建,则可以使用diff tool。
如果你不能使用它,我认为创建一个在JEditorPane
中使用HTML来显示结果的基本版本并不困难。
答案 1 :(得分:1)
据我所知,这里没有任何组件。任何现代IDE都可以完成这项工作,源控制插件也有这个功能,其中很多都是开源的,所以你可以通过查看它们来获得想法。但这很难。
@madlep有一个Difference algorithm for Java的解决方案,请查看此主题:
答案 2 :(得分:1)
答案 3 :(得分:0)
我知道IntelliJ IDEA可以做到这一点,他们最近发布了一个开源社区版,所以代码就在那里。尽管如此,可能需要花一些时间来寻找相关代码!
且代码全部为available here(通过GIT或网络上):
答案 4 :(得分:0)
也许看看JDiffPlugin的jEdit(它可能比挖掘Eclipse / NetBeans / IntelliJ源代码更容易)。
或者看一下Java diff viewer Component?主题,似乎有人有类似的需求,你会找到一个基于incava.org的Diff实现的解决方案(来源的位置发生了变化,所以我是把新位置放在下面):
(对于Diff源)
http://dawes.za.net/gitweb.cgi?p=rogan/webscarab/webscarab.git;a=tree;h=148dc26a7ff3ef6ff5ddc35b206(对于DiffPanel来源)
http://dawes.za.net/gitweb.cgi?p=rogan/webscarab/webscarab.git;a=tree;h=f6b756fbe78c6f1be21a00cffbe
答案 5 :(得分:0)
https://github.com/albfan/jmeld
JMeld,一种视觉差异和合并工具。