我有一个类(如下所示)扩展JPanel
并包含一个JTextPane
.我想重定向System.out
和System.err
我JTextPane
.我的班级似乎没有用.当我运行它时,它确实重定向系统打印,但它们不打印到我的JTextPane
.请帮忙!
注意:仅在应用程序启动时重定向调用.但是在发布后的任何时候,System.out
呼叫都不会被重定向到JTextPane
.(即,如果我System.out.prinln();
在类中放置一个,它将被调用,但是如果它被放置在以actionListener
供以后使用,则它不会重定向).
public class OSXConsole extends JPanel {
public static final long serialVersionUID = 21362469L;
private JTextPane textPane;
private PipedOutputStream pipeOut;
private PipedInputStream pipeIn;
public OSXConsole() {
super(new BorderLayout());
textPane = new JTextPane();
this.add(textPane, BorderLayout.CENTER);
redirectSystemStreams();
textPane.setBackground(Color.GRAY);
textPane.setBorder(new EmptyBorder(5, 5, 5, 5));
}
private void updateTextPane(final String text) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
Document doc = …
Run Code Online (Sandbox Code Playgroud) 我需要破解一个小工具.它应该读取几个文件并转换它们.现在,它在我的IDE中工作.对于用户,我想添加一个简单显示日志输出的小UI.
你知道一个现成的Swing appender用于logback吗?或者将System.out重定向到一个只有文本字段和"关闭"按钮的小UI的东西?
PS:我不是在寻找Chainsaw或Jigsaw或Lilith.我想在应用程序中显示日志消息.
我有一个基于Swing的应用程序,没有控制台,通过slf4j将所有消息记录到文本文件,并在下面使用logback.
每当记录消息时,我还想将其添加到一个JTextArea
供最终用户在屏幕上查看.
为了保持一致性,这些消息的格式应与日志文件的格式相同.
slf4j/logback是否有API允许你为日志消息添加一个监听器,以便我可以将它们复制到JTextArea
?
我创建了一个GUI程序,它使用一个类来执行某些任务.
我想在JFrame
和类中添加日志记录.日志应保存在文件中并JTextArea
同时显示.
什么是一个方便的解决方案?