[英]How can I read and write a process in real time and display output in JTextArea in real time? (Java Swing)
[英]How do I write logs and display them real-time in a Java Swing application?
我创建了一个 GUI 程序,它使用 class 来执行一些任务。
我想在JFrame
和 class 中添加日志记录。 日志应保存在文件中并同时显示在JTextArea
中。
对此有什么方便的解决方案?
创建一个包装器
public void log(String msg) { appendToJTextArea(msg); LOG.info(msg); }
我建议使用简单的System.out.println()
调用,然后像这样运行您的应用程序:
java -cp path/to/my/class/or/jar/MyClass.class MyClass -debug > myLog.log
这将为您创建一个文本窗格( -debug
参数),并为您将它们放入日志文件中。
您可以轻松登录到文件的一种方法是使用 FileWriter:
http://download.oracle.com/javase/1.4.2/docs/api/java/io/FileWriter.html
此外,当您记录数据时,您始终可以使用 JTextArea.append() 更新 JTextArea 的文本:
http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/JTextArea.html
如果您要登录到一个文件,我是否建议您登录到多个时间戳文件? 这可确保您保存数据,并且在程序崩溃时不会丢失太多。
希望这有帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.