2010-01-07 26 views
4

我正在寫一個程序,我需要生成一個diff並顯示結果。是否有任何GUI組件,我可以輕鬆完成此任務,還是需要爲自己破解一些東西?Java:用於顯示差異的GUI組件?

我更喜歡使用Swing組件,但其他任何技術都可以。

回答

2

沒有可如果你是在NetBeans平臺上構建一個diff tool

如果你不能使用它,我認爲創建一個在JEditorPane中使用HTML來顯示結果的基本程序並不困難。

+0

到目前爲止,這是我的首選解決方案,將HTML輸出到JEditorPane--由於我正在處理的相關項目也使用HTML來生成和顯示報告。 由於我無法使用NetBeans,因此我決定使用JDiff庫,在前面的答案中提到。 感謝您提供所有答案! – user245366 2010-01-13 08:59:47

0

我知道IntelliJ IDEA可以做到這一點,他們最近發佈了一個開源社區版,所以代碼在那裏。它可能需要一些挖掘才能找到相關的代碼!

check here

和該代碼是available here(通過GIT或在網絡上)的所有:

1

據我知道有沒有部件,用於此。任何現代化的IDE都可以在今天完成這項工作,並且源代碼控制插件也具有這個功能,其中許多是開源的,所以你可以通過查看它們來獲得想法。但這很難。


@madlep有一個解決方案與Difference algorithm for Java檢查這個話題:

Generate formatted diff output in Java

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

1

看一看here

我使用Diff.java來創建一個JPanel,它將顯示兩個文件之間的差異。

希望它會幫助!