⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 log.java

📁 通过蓝牙实现手机和PC通信的例子。。 。。 。。 。
💻 JAVA
字号:
package example.chat;

import java.util.Vector;

import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.StringItem;
import javax.microedition.midlet.MIDlet;

public class Log extends Form implements CommandListener {

	static private Log instance;

	static Vector logs = new Vector();

	private MIDlet midlet;

	private Displayable previous;

	private Command back = new Command("Back", Command.BACK, 1);

	private Command next = new Command("Next Page", Command.ITEM, 2);

	private Command prev = new Command("Prev. Page", Command.ITEM, 2);

	private int currentPage = 0;

	static private int LINES_IN_PAGE = 5;

	// private Command refresh = new Command("Refresh", Command.SCREEN, 1);

	private Log() {
		super("Log");
		addCommand(back);
		// addCommand(refresh);
		addCommand(prev);
		addCommand(next);
		setCommandListener(this);
		instance = this;
	}

	public static void setCurrent(MIDlet midlet) {
		if (instance == null)
			instance = new Log();

		instance.midlet = midlet;

		instance.previous = Display.getDisplay(midlet).getCurrent();

		Display.getDisplay(midlet).setCurrent(instance);

		instance.refresh();
	}

	public void commandAction(Command cmd, Displayable d) {
		if (cmd == back) {
			Display.getDisplay(midlet).setCurrent(previous);
		} else if (cmd == prev) {
			if (currentPage > 0)
				currentPage--;
			refresh();
		} else if (cmd == next) {
			if (currentPage < getPages())
				currentPage++;
			refresh();
		}
	}

	private int getPages() {
		int pages = logs.size() / LINES_IN_PAGE;
		return pages;
	}

	private void refresh() {
		synchronized (logs) {
			if (size() == 0)
				append(new StringItem("", ""));

			if (!(get(0) instanceof StringItem))
				return;

			StringItem str = (StringItem) get(0);

			StringBuffer sb = new StringBuffer();
			for (int i = currentPage * LINES_IN_PAGE; i < (currentPage + 1)
					* LINES_IN_PAGE
					&& i < logs.size(); i++) {
				sb.append(logs.elementAt(i).toString());
				sb.append("\n");
			}

			sb.insert(0, "Page (" + currentPage + "/" + getPages() + "):\n");
			str.setText(sb.toString());
		}
	}

	static public void log(String string) {
		logs.addElement(string);
		System.out.println(string);

		if (instance != null)
			instance.refresh();
	}

	static public void log(String location, Exception e) {
		log(location);
		log(e.getMessage());
		e.printStackTrace();
	}

	static public void clear() {
		logs.removeAllElements();
	}
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -