[英]System.out.println output to JTextArea
我想每次调用System.out.println追加到给定的JTextArea,而不必更改对System.out.println的所有调用......这可能吗?
谢谢。
自1.5以来的Java版本具有System.setOut()
,允许您安装自己的PrintStream
。 只需创建一个简单的OutputStream
,它通过write()
附加数据然后将其包装在PrintStream
并安装它。
那么你可以使用jTextArea.append("Your String")
方法来做到这一点
我不认为有一个简单的方法。 我通常会尝试在我的代码中避免使用System.out
调用,原因就是这种情况。 如果您有一个像(比方说) MyUtil.myOutput()
那么您可以进行一次更改并将其重新路由到您想要的位置
我想你可能会使用某种形式的AspectJ来做这件事,但我认为这可能有点过头了。 我会做的是创建一个既可以打印又可以附加的方法。
public void printAndAppend(String text) {
System.out.println(text);
textArea.append(text);
}
然后,您可以只对System.out.println
执行全局查找和替换,并将其替换为printAndAppend
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.