Java:用于显示差异的GUI组件?

时间:2010-01-07 08:33:40

标签: java user-interface swing diff

我正在编写一个程序,我需要生成一个diff并显示结果。是否有任何GUI组件,我可以轻松完成此任务,或者我是否需要为自己破解某些内容?

我更喜欢使用Swing组件,但任何其他技术也都可以。

6 个答案:

答案 0 :(得分:2)

如果您在NetBeans平台上构建,则可以使用diff tool

如果你不能使用它,我认为创建一个在JEditorPane中使用HTML来显示结果的基本版本并不困难。

答案 1 :(得分:1)

据我所知,这里没有任何组件。任何现代IDE都可以完成这项工作,源控制插件也有这个功能,其中很多都是开源的,所以你可以通过查看它们来获得想法。但这很难。


@madlep有一个Difference algorithm for Java的解决方案,请查看此主题:

Generate formatted diff output in Java

答案 2 :(得分:1)

看看here

我使用Diff.java创建了一个显示两个文件之间差异的JPanel

希望它会有所帮助!

答案 3 :(得分:0)

我知道IntelliJ IDEA可以做到这一点,他们最近发布了一个开源社区版,所以代码就在那里。尽管如此,可能需要花一些时间来寻找相关代码!

check here

且代码全部为available here(通过GIT或网络上):

答案 4 :(得分:0)

也许看看JDiffPluginjEdit(它可能比挖掘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,一种视觉差异和合并工具。