以前テスト・デバッグ中に標準出力やログファイルに以外にログを出力したい時があり、そのとき作成したログ出力クラスです。 JFrameのテキストエリアにログを出力します。外部クラスからは JFrameLog.log("ログ"); でログ出力が可能です。
[JFrameLog.java]
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;
public class JFrameLog {
static JFrame frame = new JFrame("DEBUG ");
static JTextArea textArea = new JTextArea("");
{
// フレーム,テキストエリア初期化
textArea.setAutoscrolls(true);
frame.getContentPane().add(textArea, BorderLayout.CENTER);
frame.pack();
frame.setSize(300, 300);
frame.setVisible(true);
frame.show();
}
/**
* ログ出力
* @param text ログ出力文字列
*/
public static void log(String text) {
textArea.append(text);
textArea.append("\n");
}
public static void main(String args[]) throws InterruptedException {
JFrameLog jFrameLog = new JFrameLog();
jFrameLog.execute();
}
void execute() throws InterruptedException {
JFrameLog.log("標準出力やログファイルに出力できない場合");
JFrameLog.log("JFrameのにログを出力するのも1つの手です。");
while (true);
}
}