一个简单的信息输出调试工具

五 9th, 2010
323 次浏览 | 发表评论 | Trackback

平时做项目经常需要debug但是没办法debug,于是都要system.out来查看相关的信息。前几天做项目的时候突然发现system.out失灵了,估计是在哪里被重定向了,急切间又找不到在哪个地方恢复。于是自己写了一个小工具来帮助开发。

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");
 }

}

功能很简单,只一个输出窗口输出信息,还有一个清除按钮可以清除信息。使用了单例模式,这样只需要使用DebugMsg.outMsg()就可以输出信息。

后面有时间的话还打算继续完善一下,可以增加查找功能,可以在输出信息中查找相关词语;还有高亮功能,可以让不同地方输出的信息背景颜色不一样。

标签:
下一篇:冠军!永恒的纪念 上一篇:微博好强大
  1. 论文发表
    五 9th, 201022:23
    #1

    支持博主!

    [回复]

  2. 太门户
    五 10th, 201019:10
    #2

    真有气概呀。

    [回复]

  3. 童宝宝
    五 14th, 201021:46
    #3

    不用java许多年,哈哈

    [回复]