一起去看海

2010/05/17

调试工具1.1版

Filed under: Java笔记 — Tags: — admin @ 22:15

上周写了个调试工具,功能很简单http://www.ooobj.com/2010/05/debug-tool/。今天给加了个查找的功能,代码从网上找的记事本代码中抽出来的,呵呵。

部分代码:

[java]private DebugMsg() {
f = new JFrame("调试工具");
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.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
clearText();
}
});

JMenuBar menuBar = new JMenuBar();
JMenu toolMenu = new JMenu("工具");
menuBar.add(toolMenu);
JMenu helpMenu = new JMenu("帮助");
menuBar.add(helpMenu);

JMenuItem helpItem = new JMenuItem("使用帮助");
helpItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
textArea.setText("Ctrl+F 查找\n" +
"Ctrl+D 清除消息\n" +
"Ctrl+Q 退出\n" +
"查看更新:www.ooobj.com\n");
}
});
helpMenu.add(helpItem);

JMenuItem findItem = new JMenuItem("查找");
findItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
mySearch();
}
});
findItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F, Event.CTRL_MASK));
toolMenu.add(findItem);

JMenuItem clearItem = new JMenuItem("清除");
clearItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
clearText();
}
});
clearItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D, Event.CTRL_MASK));
toolMenu.add(clearItem);

JMenuItem quitItem = new JMenuItem("退出");
quitItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(-1);
}
});
quitItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q, Event.CTRL_MASK));
toolMenu.add(quitItem);

contentPane.add(scroll, BorderLayout.CENTER);
contentPane.add(clear, BorderLayout.SOUTH);
contentPane.add(menuBar, BorderLayout.NORTH);

f.pack();
f.setVisible(true);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});

}[/java]

调试工具1.1代码下载

调试工具

2010/05/09

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

Filed under: Java笔记 — Tags: — admin @ 09:46

平时做项目经常需要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()就可以输出信息。

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

Powered by WordPress