我今天的问题是我有一个可以连接另一个程序的 GUI。我的 GUI 中有一个文本区域,我想显示用户选择的特定组件的类文档。
示例:用户选择“协议”设置我希望它显示该“协议”的 JavaDoc。
如何识别正确的 Javadoc 并将其显示在文本区域中?
..Javadoc .. 在文本区域中呈现它?
不要使用 a JTextArea
,而是使用JEditorPane
. 后者将呈现 HTML。
我会建议 3 种可能的方法:
来自 QDox 的示例代码:
JavaDocBuilder builder = new JavaDocBuilder();
builder.addSource(new FileReader("MyFile.java"));
JavaDoc 不是 Java 程序的一部分。因此,无论您使用什么方法,您都必须将资源与您的程序捆绑在一起。
所以你有两种可能:
使用 javadoc 生成文档并捆绑结果。通过查看生成的文件,很容易了解如何从类名映射到 html 页面。JavaDoc 文档(更准确地说是默认 doclet 的文档)包含更详细的描述
如果您想即时生成文档,您必须将源代码与您的应用程序捆绑在一起。此外,您的应用程序必须在 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 类中。…</p>
public static int execute(String programName, PrintWriter errWriter, PrintWriter warnWriter, PrintWriter noticeWriter, String defaultDocletClassName, String[] args)
此执行方法因采用较少参数的变体而重载。