寻找基于Java Swing的高效控制台


问题内容

我正在寻找一个高效的Swing
Java组件,可以将其插入应用程序UI。我已经尝试使用Swing中的类,例如JTextArea,但是没有用;它们根本不够高性能,并且具有任何严重的缺点。此外,如果它具有标准的控制台功能,如滚动锁定,清晰的控制台,颜色等,那就太好了。

编辑:忘了说了,这个控制台将有很多调试信息流入其中,并且它需要完全可滚动。

克里斯,干杯


问题答案:

我看不到使用JTextPane有什么问题。它支持可以在将每段文本添加到控制台时指定的属性。清除它显然也不费吹灰之力。当添加到滚动窗格时,它还支持滚动。

您可以使用智能滚动添加滚动锁定。

另外,它过早地删除了文本,

除非您明确从文档中删除文本,否则永远不会删除文本。

不允许用户在输入输入时滚动(afaik)。结果是,您只看到文本闪烁,而行数保持不变。

默认情况下,假设在EDT上执行了代码,文本会自动滚动,因为文本会附加到文档中。可以通过上面链接中提供的示例控制此滚动。

编辑:

但我仍然想要图书馆解决方案

我什么都不知道

自动为来自不同流的文本添加颜色

消息控制台可能会给你一些想法。

(即,检测一行上的[error]前缀)并根据此为行上色)

通过将DocumentFilter添加到文本窗格的Document中,可以轻松完成此操作。您可以在文本插入到文档中时添加属性。