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

时间:2010-02-24 20:57:32

标签: java swing text console components

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

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

干杯,
克里斯

2 个答案:

答案 0 :(得分:6)

我没有看到使用JTextPane有什么问题。它支持在将每段文本添加到控制台时可以指定的属性。清除它显然也是一件容易的事情。添加到滚动窗格时,它还支持滚动。

您可以使用Smart Scrolling添加滚动锁定。

  

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

不知道这意味着什么,因为除非您从文档中专门删除文本,否则永远不会删除文本。

  

不允许用户滚动   正在输入输入(afaik)。该   效果是你只看到文字   行数闪烁   保持不变。

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

编辑:

  

但我仍然喜欢图书馆解决方案

我不知道任何

  

来自的自动着色文本   不同的流

Message Console可能会给你一些想法。

  

(即,检测a上的[error]前缀   线)和基于的色彩线   此)

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

答案 1 :(得分:3)

请务必阅读Event Dispatching Thread (EDT) in swing

BTW:一个简单的搜索'java swing console'会给你很多提示,或者你可以使用/改编beanshell textfield这也是一个jtextfield ...