Redirecting System.out to JTextPane

Для любителей приключений это можно сделать одной командой:

mv .git/refs/tags/OLD .git/refs/tags/NEW
11
задан Jakir00 14 December 2010 в 21:36
поделиться

1 ответ

В следующем ссылка можно найти класс MessageConsole, который кто-то упомянул. Я реализовал программное обеспечение и использовал это решение, и оно работает идеально подходящее для меня. Я использовал средство проектирования Netbeans, таким образом, код относительно общего вида JTextPane является немного громоздким, таким образом, я не собираюсь помещать его сюда.


JTextPane jTextPane = new JTextPane();

MessageConsole console = new MessageConsole(jTextPane);
/*
This parameters are optional, but if you are looking for a solution with JTextPane it is because you need them, at least color.
*/
console.redirectErr(Color.RED, null);
console.redirectOut();

//some event
private void jButton1ActionPerformed(ActionEvent evt) {
    /*
    In this event I execute a function of my business.
    I put it in a thread so that it does not block the graphical interface.
    There are many calls to System.out.println() and System.err.println()
    */
    BusinessClass bc = new BusinessClass();
    Runnable runnable = () -> {
        bc.someBusinessFn();
    };
    thread = new Thread(runnable);
    thread.start();
}

//My main method
public static void main(String args[]) {
        /* Create and display the GUI */
        EventQueue.invokeLater(() -> {
            new MyJFrame().setVisible(true);
        });
}

Редактирование

Извините, я не понял, что в ответе, подобном этому, они поместили ссылку на класс MessageConsole. Я не видел его, и я также хотел показать свое решение.

0
ответ дан 3 December 2019 в 07:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: