如何解决Java Swing JTextArea 中重定向的彩色 Java 控制台是否有可能?
我成功地将 System.out
和 System.err
重定向到了 JTextArea,参考这篇文章:https://www.codejava.net/java-se/swing/redirect-standard-output-streams-to-jtextarea。
但是两种类型的消息都以相同的字体颜色显示。 我希望 System.err 消息以红色显示,而 System.out 消息以定义的前景色(当前为白色)显示。可能吗?
解决方法
不,这是不可能的。 JTextArea 是一个简单的文本组件,只能显示一种字体和一种字体颜色。如果您需要更多复杂性,则需要使用更复杂、功能更强大(且难以使用)的组件,例如 JTextPane 或 JEditorPane。
另一种选择是使用 JList 来显示来自系统的文本,并为其提供一个渲染器,使其知道以黑色显示正常消息,以红色显示错误消息。这可以看起来像一个 JTextArea,但如果单个消息占用多于一行,确实会遇到一些困难。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。