gpt4 book ai didi

Java 日志 ==> JTextArea

转载 作者:搜寻专家 更新时间:2023-10-31 19:58:47 24 4
gpt4 key购买 nike

需要:将 Java 应用程序的日志输出到 GUI 组件,例如 JTextArea。

问题:需要以静态方式记录来自任何类的内容。但是,GUI 记录器组件不能是静态的(显然),因为它是父组件的成员。

我该怎么办?

最佳答案

创建一个单例日志提供程序并将“文本字段”添加为它的监听器。

记录器单例的例子:

interface Listener {
void log(String log);
}

enum Logger {

instance;

private List<Listener> listeners = new LinkedList<Listener>();

public void addListener(Listener l) {
synchronized(listeners) {
listeners.add(l);
}
}

public void log(String log) {
synchronized(listeners) {
for(Listener l : listeners)
l.log(log);
}
}
}

像这样添加你的监听器(你需要自己实现):

Logger.instance.addListener(myTextField);

然后像这样(从任何类)使用它:

Logger.instance.log("Hello World!");

或者您可以使用像 log4j 这样的包.

关于Java 日志 ==> JTextArea,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2957905/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com