平时做项目经常需要debug但是没办法debug,于是都要system.out来查看相关的信息。前几天做项目的时候突然发现system.out失灵了,估计是在哪里被重定向了,急切间又找不到在哪个地方恢复。于是自己写了一个小工具来帮助开发。
[java]package com.ooobj.debug;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class DebugMsg {
private JTextArea textArea = null;
private static DebugMsg dm = null;
public static DebugMsg getInstance() {
if (dm == null) {
dm = new DebugMsg();
}
return dm;
}
private DebugMsg() {
JFrame f = new JFrame("Debug Message");
Container contentPane = f.getContentPane();
contentPane.setLayout(new BorderLayout());
textArea = new JTextArea(20, 40);
textArea.setEditable(false);
JScrollPane scroll = new JScrollPane(textArea);
JButton clear = new JButton("Clear Messages");
clear.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
clearText();
}
});
contentPane.add(scroll, BorderLayout.CENTER);
contentPane.add(clear, BorderLayout.SOUTH);
f.pack();
f.setVisible(true);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
private void clearText() {
textArea.setText("");
}
public void writeText(String text) {
textArea.append(text);
}
public static void outMsg(String msg) {
DebugMsg t = DebugMsg.getInstance();
t.writeText(msg + "\n");
}
}[/java]
功能很简单,只一个输出窗口输出信息,还有一个清除按钮可以清除信息。使用了单例模式,这样只需要使用DebugMsg.outMsg()就可以输出信息。
后面有时间的话还打算继续完善一下,可以增加查找功能,可以在输出信息中查找相关词语;还有高亮功能,可以让不同地方输出的信息背景颜色不一样。
支持博主!
Comment by 论文发表 — 2010/05/09 @ 22:23
真有气概呀。
Comment by 太门户 — 2010/05/10 @ 19:10
不用java许多年,哈哈
Comment by 童宝宝 — 2010/05/14 @ 21:46
[...] 上周写了个调试工具,功能很简单http://www.ooobj.com/2010/05/debug-tool/。今天给加了个查找的功能,代码从网上找的记事本代码中抽出来的,呵呵。 [...]
Pingback by 一起去看海 » 调试工具1.1版 — 2010/05/17 @ 22:15