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

📄 mappinmenu.java

📁 基于J2ME的手机地图客户端源码
💻 JAVA
字号:
package org.sreid.j2me.gmapviewer;import java.util.*;import javax.microedition.lcdui.*;import javax.microedition.midlet.*;import org.sreid.j2me.util.*;// Handles permanent (non-search) map pins.public class MapPinMenu extends List implements CommandListener {	private final GMapViewer app;	private static final String BACK = "Back";	private static final String GO_TO_PIN = "Go to pin";	private static final String EDIT_PIN = "Rename pin";	private static final String DELETE_PIN = "Delete pin";	private final Vector mapPins = new Vector();	Displayable cameFrom;	MapPinMenu(GMapViewer app) {		super("Map pins", List.IMPLICIT);		this.app = app;		setCommandListener(this);		addCommand(new Command(BACK, Command.BACK, 1));		addCommand(new Command(GO_TO_PIN, Command.ITEM, 1));		addCommand(new Command(EDIT_PIN, Command.ITEM, 2));		addCommand(new Command(DELETE_PIN, Command.ITEM, 2));		loadList();	}	public void commandAction(Command c, Displayable d) {		final MapPin pin = (getSelectedIndex() < 0 || mapPins.size() == 0 ? null : (MapPin)mapPins.elementAt(getSelectedIndex()));		String cmd = c.getLabel();		if (cmd.equals(BACK)) {			app.display.setCurrent(cameFrom);		}		else if (pin == null) {			// all of the commands below require a map pin		}		else if (cmd.equals(GO_TO_PIN) || c == List.SELECT_COMMAND) {			app.canvas.setXY(pin.x, pin.y);			app.display.setCurrent(app.canvas);		}		else if (cmd.equals(EDIT_PIN)) {			final Dialog dlg = Dialog.createTextDialog("Edit map pin", "Map pin text", pin.text, 40, TextField.ANY);			dlg.setCallback(new Runnable() { public void run() {				String userResponse = (String)dlg.getUserResponse();				if (userResponse != null) {					pin.text = (String)userResponse;					app.mpm.keepPin(pin);					loadList();				}			}});			dlg.showOn(app);		}		else if (cmd.equals(DELETE_PIN)) {			final Dialog dlg = Dialog.createConfirmationDialog("Delete map pin?", "Are you sure you want to delete this map pin: " + pin.text, "Yes, delete it.", "No, keep it.");			dlg.setCallback(new Runnable() { public void run() {				if (dlg.getUserResponse() == Dialog.USER_CONFIRMED) {					app.mpm.deletePin(pin);					loadList();				}			}});			dlg.showOn(app);		}		else {			throw new IllegalArgumentException("Unrecognized command: " + cmd);		}	}	void loadList() {		mapPins.removeAllElements();		while (size() > 0) {			delete(0);		}		for (Enumeration enum = app.mpm.enumeration() ; enum.hasMoreElements() ; ) {			MapPin mp = (MapPin)enum.nextElement();			if (mp.isPermanent) {				append(mp.text, null);				mapPins.addElement(mp);			}		}		if (mapPins.size() == 0) {			append("You currently have no permanent map pins.", null);		}	}}

⌨️ 快捷键说明

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