【问题标题】:Java: How to pretty print .java fileJava:如何漂亮地打印 .java 文件
【发布时间】:2012-05-22 16:08:45
【问题描述】:

我有一个 JTextArea,我用一个选定的 .java 文件填充它,问题是该文件显示为普通文本。我想添加一些漂亮的打印,以便用户能够看到文件,就好像文件在 eclipse 中打开一样(关键字不同的颜色,cmets 将是灰色的......等等)

我无法在网上找到任何关于如何做到这一点的好例子。最好的方法是什么?

编辑:

我终于让它工作了,我将JSyntaxPane jar 文件添加到我的类路径(确切地说是jsyntaxpane-0.9.5-b29.jar)然后我添加了以下两行代码以使其适用于我的 JEditorPane。

jsyntaxpane.DefaultSyntaxKit.initKit();
JEditorPane.setContentType("text/java");

这也可用于以下语言:JavaScript、Properties、Groovy、C、C++、XML、SQL、Ruby 和 Python...只需将上述代码中的 text/java 更改为 text/LANGUAGE_YOU_WANT 即可

【问题讨论】:

    标签: java jtextarea pretty-print


    【解决方案1】:

    JTextArea 只能显示纯文本(如 Windows 中的记事本)。如果你想用颜色显示漂亮的打印源代码,你需要JEditorPane,它允许你显示 HTML。

    现在您可以使用语法高亮的 Java 源代码手动生成 HTML,也可以使用一些库。

    另见

    【讨论】:

    • 我已将我的 TextArea 更改为 JEditorPane,我已为 JSyntaxPane 添加了 JAR 文件,我还添加了代码以更改 JEditorPane 中的 SyntaxKit,因此编写如下:jEdtTest.setEditorKit(new SyntaxKit("java"));但它说找不到符号,我需要为 SyntaxKit 创建一个类...你知道它为什么这么说吗?
    • @newSpringer:我对 JSyntaxPane 库一无所知,抱歉 - 这可能值得成为第二个问题。您可以先尝试在 JEditorPane 中显示任何 HTML 以确保它按预期工作吗?
    • 干杯,我让它工作了,它工作得很好......我已经编辑了我的答案也只是为了展示我是如何让它工作的,再次感谢
    【解决方案2】:

    JEdit-Syntax 有一个 JEditTextArea 类,可以进行语法高亮。这个项目被剥离出来以打包JEdit 项目的一些子组件。

    【讨论】:

      猜你喜欢
      • 2010-09-13
      • 1970-01-01
      • 1970-01-01
      • 2012-10-08
      • 1970-01-01
      • 1970-01-01
      • 2011-03-29
      • 2011-05-05
      相关资源
      最近更新 更多