2012-05-22 45 views
0

我有一个JTextArea,并且我已经用选择的.java文件填充了这个问题,问题是该文件显示为普通文本。我想添加一些漂亮的打印,以便用户将能够看到文件,就好像该文件在日食中打开(关键字不同的颜色,评论将灰色...等)Java:如何漂亮打印.java文件

我还没有能够在网上找到任何好的例子来说明如何做到这一点。最好的办法是做什么?

编辑:

我得到这个最终工作,我加入了JSyntaxPane jar文件到我的类路径(jsyntaxpane-0.9.5-b29.jar是精确的)然后我加入的代码如下两行得到它为我的JEditorPane工作。

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

这也可以在以下语言中使用:JavaScript的,属性的,Groovy,C,C++,XML,SQL,Ruby和Python的...只是通过简单地在上面的代码改变text/javatext/LANGUAGE_YOU_WANT

回答

2

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

现在您可以使用语法突出显示的Java源代码手动生成HTML或使用某个库。

又见

+0

我已经改变了我的TextArea到JEditorPane中,我已经添加了JSyntaxPane JAR文件,我还添加了代码更改JEditorPane中的SyntaxKit所以写作如:jEdtTest.setEditorKit(new SyntaxKit(“java”));但它说无法找到符号,我需要为SyntaxKit创建一个类...你知道它为什么这么说吗? – newSpringer

+0

@newSpringer:我对JSyntaxPane库一无所知,抱歉 - 这可能是第二个问题。你可以首先尝试在'JEditorPane'中显示任何HTML,以确保它按预期工作吗? –

+0

欢呼声,我得到了这个工作,它完美的作品...我已编辑我的答案也只是为了显示我如何得到它的工作,再次感谢 – newSpringer

0

JEdit-Syntax有一个JEditTextArea类,它将执行语法高亮显示。该项目已拆分为打包JEdit项目的一些子组件。