2013-08-23 24 views
0

今天我的問題是我有一個GUI來連接另一個程序。我在我的GUI中有一個文本區域,我想顯示用戶選擇的特定組件的類文檔。從代碼讀取Java類文檔到GUI中

示例:用戶選擇'Protocol'設置我希望它顯示該'Protocol'的JavaDoc。

我該如何去認識正確的Javadoc並在文本區域內呈現它?

+0

在GUI中提供類文檔的目的在於爲GUI的用戶提供有用的學習幫助。 –

+2

當然,JavaDoc旨在成爲軟件開發人員的工具,而不是「最終用戶的幫助文件」快捷方式? – Stewart

+0

此工具是位於API之外的協議開發實用程序。所以只是想知道是否有辦法。除了將所有的Javadocs複製到內部字符串之外,還要按照方式呈現它們。 –

回答

1

我建議3點可能的方法:

  • 作爲構建的一部分,創造的Javadoc HTML正常,然後包括在您的部署,和你的GUI使用某種類型的嵌入式瀏覽器(例如。WebKit的)
  • 研究它是如何被其他GUI的完成,如Eclipse的Javadoc中查看,或使用a project which extends Eclipse Javadoc View
  • 使用Java源(Javadoc中)parsing library/tool,如QDox
從QDox 10

示例代碼:

JavaDocBuilder builder = new JavaDocBuilder(); 
builder.addSource(new FileReader("MyFile.java")); 
1

的Javadoc不是Java程序的一部分。因此,無論您使用何種方法,您都必須將資源與您的程序捆綁在一起。

所以,你有兩種可能性:

  1. 生成具有javadoc的文檔和捆綁的結果。通過查看生成的文件,很容易看到如何從類名映射到html頁面。 JavaDoc文檔(默認doclet的文檔更精確)包含更詳細的描述

  2. 如果您想要即時生成文檔,則必須將源代碼與應用程序捆綁在一起。此外,您的應用程序必須在JDK內部運行,而不是在純JRE中運行JavaDoc。

http://docs.oracle.com/javase/7/docs/technotes/guides/javadoc/standard-doclet.html

運行標準Doclet編程

Javadoc工具有與公共方法的編程接口的調用 從用Java語言另一個程序的Javadoc工具。 這些方法位於lib/tools.jar中的com.sun.tools.javadoc.Main類中。 ...

公共靜態INT執行(字符串PROGRAMNAME,PrintWriter的errWriter,PrintWriter的warnWriter, PrintWriter的noticeWriter,字符串defaultDocletClassName,字串[] args)

該執行方法被重載用變體採取較少的參數。

2

..Javadoc ..在文本區域內顯示它?

請勿使用JTextArea,而是使用JEditorPane。後者將呈現HTML。