【发布时间】:2011-03-21 22:08:27
【问题描述】:
如何设置 JTextArea 来接收我记录的任何内容(没有创建诸如“MyLoggerListener”之类的接口并将其实现到我的 JTextArea 中)
编辑:
我通过创建一个 TextAreaOutputStream、用它制作一个 printwriter 并在构造函数中添加一个带有 printwriter 的 WriterAppender 来解决这个问题。
【问题讨论】:
如何设置 JTextArea 来接收我记录的任何内容(没有创建诸如“MyLoggerListener”之类的接口并将其实现到我的 JTextArea 中)
编辑:
我通过创建一个 TextAreaOutputStream、用它制作一个 printwriter 并在构造函数中添加一个带有 printwriter 的 WriterAppender 来解决这个问题。
【问题讨论】:
我认为@OscarRyz 的做法是一个合理的想法。
但是,我认为您应该认真考虑是否应该尝试这样做。问题在于将日志消息绘制到 Java GUI 中可能会占用大量 CPU。这可能会使您的应用程序日志记录变慢,并可能因此扰乱您的应用程序的时间。
(并不是说您的应用程序应该对时间敏感。但是如果您确实存在与时间相关的错误,那么如果更改日志记录级别等会导致应用程序行为不同,这将无济于事。)
我的感觉是,在你的应用程序中嵌入一个花哨的日志查看器可能比它的价值更麻烦......
【讨论】:
您可以尝试将其输出重定向到类似Create Java console inside panel
alt text http://img122.imageshack.us/img122/5692/dibujoof2.png
也就是说,您可以将控制台记录器(或任何名称)归类为子类,并将输出重定向到该组件。
【讨论】: