我正在寻找一个高效的Swing Java组件,我可以将其插入我的应用程序UI。我已经尝试过使用Swing中的类,比如JTextArea,但是没有用;它们的性能不够高,并且有任何严重的缺点。此外,如果它具有标准控制台功能,如滚动锁定,清除控制台,颜色等等,那就太好了。
编辑:忘了说,这个控制台会有很多调试信息流入它,它需要完全可滚动。
干杯,
克里斯
答案 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 ...