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

📄 setkeys.java

📁 华容道游戏源码
💻 JAVA
字号:
package huaroad;// Download by http://www.codefans.netimport com.siemens.mp.io.*;import java.io.IOException;import javax.microedition.midlet.*;import javax.microedition.lcdui.*;// 按键设置public class SetKeys extends List implements CommandListener{	private static final String[] lskeys = {		"左移: ",		"右移: ",		"上移: ",		"下移: ",		"选择: "	};	private static String[] listKeys = { "","","","","" };	private static byte[] sckey = { 0,0,0,0,0 };	private static final Command cmd = new Command("返回", Command.BACK, 1);	private Display display;	private HRGame wingame;	private int sindex;	public SetKeys(byte ckey[])	{		super("按键设置", IMPLICIT);		int i;		for (i=0; i<5; i++)  // 列出可设置项		{			sckey[i] = ckey[i];			listKeys[i] = lskeys[i] + exchkey(sckey[i]);			append(listKeys[i], null);		}		addCommand(cmd);	}	public void activate(Display disp, HRGame backgame)	{		display = disp;		wingame = backgame;		show();	}	public void show()	{		display.setCurrent(this);		setCommandListener(this);	}	private String exchkey(int keynum)	// 键码/键名对应关系	{		switch(keynum)		{		case Canvas.KEY_NUM0: // '0'			return "0";		case Canvas.KEY_NUM1: // '1'			return "1";		case Canvas.KEY_NUM2: // '2'			return "2";		case Canvas.KEY_NUM3: // '3'			return "3";		case Canvas.KEY_NUM4: // '4'			return "4";		case Canvas.KEY_NUM5: // '5'			return "5";		case Canvas.KEY_NUM6: // '6'			return "6";		case Canvas.KEY_NUM7: // '7'			return "7";		case Canvas.KEY_NUM8: // '8'			return "8";		case Canvas.KEY_NUM9: // '9'			return "9";		case Canvas.KEY_POUND: // '#'			return "#";		case Canvas.KEY_STAR: // '*'			return "*";		case -1:    // LSK			return "左软键";		case -59:   // UP			return "上";		case -60:   // DOWN			return "下";		case -11:   // DIAL			return "通话键";		case -12:   // HANG		// 右软键、挂机键保留		case -4:    // -4: RSK			return "";		case -61:   // LEFT		// 6688			return "左";		case -62:   // RIGHT	// 6688			return "右";		case -63:			return "侧键▼";	// 6688		case -14:			return "侧键-";		// 6688		case -13:			return "侧键+";		// 6688		case -6:			return "侧键●";	// 6688		case -5:			return "通讯录键";	// 3118		default:			return "";		}	}	public void getkey(byte keynum)	// 显示当前按键	{		String keyitem = exchkey(keynum);		if (keyitem != "")		{			delete(sindex);			keyitem = lskeys[sindex] + keyitem;			insert(sindex, keyitem, null);			setSelectedIndex(sindex, true);			sckey[sindex] = keynum;			/////////////////////////////////////////////			// write key			try			{				File keyfile = new File();				int fid = keyfile.open("CtrlKey");				keyfile.write(fid, sckey, 0, 5);				keyfile.close(fid);			}			catch(IOException ioexception) { }			catch(NullPointerException npe){ }			//////////////////////////////////////////////*/		}		show();	}	public void commandAction(Command command, Displayable displayable)	{		if(command == cmd)			wingame.getkeys(sckey);		else		{			sindex = getSelectedIndex();  // 进入按键设置画面			String keyname;			switch(sindex)			{			case 0:				keyname = "左移";break;			case 1:				keyname = "右移";break;			case 2:				keyname = "上移";break;			case 3:				keyname = "下移";break;			case 4:				keyname = "选择/取消";break;			default:				keyname = "";break;			}			SetKeyCanvas canvas = new SetKeyCanvas(keyname);			display.setCurrent(canvas);			canvas.activate(this);		}	}	private class SetKeyCanvas extends Canvas  // 按键设置画面	{		private SetKeys winList;		private String kname;		public SetKeyCanvas(String kn)		{			kname = kn;		}		public void paint(Graphics g)		{			g.drawString(				"请按一个键作为\n“"				+ kname + "”\n的控制键!",				0, 0, Graphics.TOP | Graphics.LEFT);		}		public void activate(SetKeys klist)		{			winList = klist;		}		protected void keyPressed(int keynum)		{			winList.getkey((byte)keynum);		}	}}

⌨️ 快捷键说明

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