📄 e.java
字号:
package a.a.a.b;
import java.io.*;
import java.awt.event.*;
import java.awt.image.*;
import javax.microedition.lcdui.*;
import javax.swing.JOptionPane;
import a.a.a.midp.lcdui.*;
import com.booqio.emulator.*;
import com.nokia.mid.ui.*;
//EmulatorParam class
public class e {
public static final String Version=" 1.1.5 (Build 20061026-01)";
private MIDletManager midletManager;
private int deviceType;
private int screenType;
private int deviceImageWidth;
private int deviceImageHeight;
private int screenX;
private int screenY;
private int screenWidth;
private int screenHeight;
private int sizeSmall;
private int sizeMedium;
private int sizeLarge;
private int heightSmall;
private int heightMedium;
private int heightLarge;
private static e instance;
public static final int TYPE_MENU=1;
public static final int TYPE_ABOUT=2;
public static final int TYPE_KEY=3;
public static final int TYPE_OTHER=4;
public static int KEY_SEND;
public static int KEY_END;
public static int KEY_SOFT1;
public static int KEY_SOFT2;
public static int KEY_UP;
public static int KEY_DOWN;
public static int KEY_LEFT;
public static int KEY_RIGHT;
public static int KEY_SELECT;
public static int KEY_C;
//public static int KEY_SAVE_SCREEN;
private static int ic=0;
public static final int KEY_INDEX_SOFT1=ic++;
public static final int KEY_INDEX_SOFT2=ic++;
public static final int KEY_INDEX_SEND=ic++;
public static final int KEY_INDEX_END=ic++;
public static final int KEY_INDEX_UP=ic++;
public static final int KEY_INDEX_DOWN=ic++;
public static final int KEY_INDEX_LEFT=ic++;
public static final int KEY_INDEX_RIGHT=ic++;
public static final int KEY_INDEX_SELECT=ic++;
public static final int KEY_INDEX_C=ic++;
public static final int KEY_INDEX_NUM1=ic++;
public static final int KEY_INDEX_NUM2=ic++;
public static final int KEY_INDEX_NUM3=ic++;
public static final int KEY_INDEX_NUM4=ic++;
public static final int KEY_INDEX_NUM5=ic++;
public static final int KEY_INDEX_NUM6=ic++;
public static final int KEY_INDEX_NUM7=ic++;
public static final int KEY_INDEX_NUM8=ic++;
public static final int KEY_INDEX_NUM9=ic++;
public static final int KEY_INDEX_NUM0=ic++;
public static final int KEY_INDEX_STAR=ic++;
public static final int KEY_INDEX_POUND=ic++;
public static final int KEY_INDEX_SAVESCREEN=ic++;
public static final int mbKeys[]={
Canvas.KEY_NUM1,
Canvas.KEY_NUM2,
Canvas.KEY_NUM3,
Canvas.KEY_NUM4,
Canvas.KEY_NUM5,
Canvas.KEY_NUM6,
Canvas.KEY_NUM7,
Canvas.KEY_NUM8,
Canvas.KEY_NUM9,
Canvas.KEY_NUM0,
Canvas.KEY_STAR,
Canvas.KEY_POUND,
};
public static String keys[]={
"SOFTKEY1",
"SOFTKEY2",
"SEND",
"END",
"UP",
"DOWN",
"LEFT",
"RIGHT",
"SELECT",
"C",
"NUM1",
"NUM2",
"NUM3",
"NUM4",
"NUM5",
"NUM6",
"NUM7",
"NUM8",
"NUM9",
"NUM0",
"START",
"POUND",
"SaveScreen",
};
public static final int defaultKey[]={
KeyEvent.VK_END, //SOFTKEY1
KeyEvent.VK_PAGE_DOWN, //SOFTKEY2
KeyEvent.VK_OPEN_BRACKET, //SEND
KeyEvent.VK_CLOSE_BRACKET, //END
KeyEvent.VK_UP, //UP
KeyEvent.VK_DOWN, //DOWN
KeyEvent.VK_LEFT, //LEFT
KeyEvent.VK_RIGHT, //RIGHT
KeyEvent.VK_SPACE, //SELECT
KeyEvent.VK_BACK_SPACE, //C
KeyEvent.VK_NUMPAD7, //NUM1
KeyEvent.VK_NUMPAD8, //NUM2
KeyEvent.VK_NUMPAD9, //NUM3
KeyEvent.VK_NUMPAD4, //NUM4
KeyEvent.VK_NUMPAD5, //NUM5
KeyEvent.VK_NUMPAD6, //NUM6
KeyEvent.VK_NUMPAD1, //NUM7
KeyEvent.VK_NUMPAD2, //NUM8
KeyEvent.VK_NUMPAD3, //NUM9
KeyEvent.VK_NUMPAD0, //NUM0
KeyEvent.VK_MULTIPLY, //START
KeyEvent.VK_DIVIDE, //POUND
KeyEvent.VK_F1, //CScreen
};
public static final int currentKey[]=new int[keys.length];
private static boolean keyAlreadyPressed=false;
public e(MIDletManager midletManager) {
super();
this.midletManager=midletManager;
}
public static void loadLibrary(String path){
if(path==null){
System.loadLibrary("BQJ2MELib");
}else{
if(path.endsWith("\\")||path.endsWith("/")){
System.load(path+"BQJ2MELib.dll");
}else{
System.load(path+"\\BQJ2MELib.dll");
}
}
}
public static e getInstance(MIDletManager manager){
if(instance==null){
instance=new e(manager);
}
if(instance.midletManager==null&&manager!=null){
instance.midletManager=manager;
}
return instance;
}
public static void restoreDefaultKey(){
System.arraycopy(defaultKey,0,currentKey,0,defaultKey.length);
}
public static int getMobileKey(int keyCode){
int pos=0;
if(keyCode==currentKey[pos++]){
return KEY_SOFT1;
}else if(keyCode==currentKey[pos++]){
return KEY_SOFT2;
}else if(keyCode==currentKey[pos++]){
return KEY_SEND;
}else if(keyCode==currentKey[pos++]){
return KEY_END;
}else if(keyCode==currentKey[pos++]){
return KEY_UP;
}else if(keyCode==currentKey[pos++]){
return KEY_DOWN;
}else if(keyCode==currentKey[pos++]){
return KEY_LEFT;
}else if(keyCode==currentKey[pos++]){
return KEY_RIGHT;
}else if(keyCode==currentKey[pos++]){
return KEY_SELECT;
}else if(keyCode==currentKey[pos++]){
return KEY_C;
}else{
for(int i=0;i<mbKeys.length;++i){
if(keyCode==currentKey[pos++]){
return mbKeys[i];
}
}
}
return Integer.MIN_VALUE;
}
public void keyPressed(int keyCode){
int key =e.getMobileKey(keyCode);
if(key!=Integer.MIN_VALUE){
if(keyAlreadyPressed){
return;
}
keyAlreadyPressed=true;
if(midletManager.getCurrent()!=null){
midletManager.getCurrent().onKeyDown(key);
}
}else if(keyCode==currentKey[KEY_INDEX_SAVESCREEN]){
midletManager.saveScreen();
}
}
public void keyReleased(int keyCode){
int key =e.getMobileKey(keyCode);
if(key!=Integer.MIN_VALUE){
keyAlreadyPressed=false;
if(midletManager.getCurrent()!=null){
midletManager.getCurrent().onKeyUp(key);
}
}
}
public void changeDeviceType(int _deviceType){
deviceType=_deviceType;
screenType=a(deviceType);
screenX=b(screenType);
screenY=g(screenType);
screenWidth=c(screenType);
screenHeight=d(screenType);
initFontSize(deviceType);
initKeys();
}
public int getScreenWidth(){
return screenWidth;;
}
public int getScreenHeight(){
return screenHeight;
}
public int getScreenX(){
return screenX;
}
public int getScreenY(){
return screenY;
}
public boolean hasPointerEvent(){
return true;
}
public boolean hasRepeatEvents(){
return false;
}
private void initKeys(){
switch(deviceType){
case Emulator.NOKIA_N7210:
case Emulator.NOKIA_N7610:
case Emulator.NOKIA_QD:
case Emulator.NOKIA_N7260:
e.KEY_SOFT1=FullCanvas.KEY_SOFTKEY1;
e.KEY_SOFT2=FullCanvas.KEY_SOFTKEY2;
e.KEY_UP=FullCanvas.KEY_UP_ARROW;
e.KEY_DOWN=FullCanvas.KEY_DOWN_ARROW;
e.KEY_LEFT=FullCanvas.KEY_LEFT_ARROW;
e.KEY_RIGHT=FullCanvas.KEY_RIGHT_ARROW;
e.KEY_SELECT=FullCanvas.KEY_SOFTKEY3;
e.KEY_C=-8;
e.KEY_SEND=-10;
e.KEY_END=-11;
break;
case Emulator.MOTOROLA_A760:
e.KEY_SOFT1=21;
e.KEY_SOFT2=-5;
e.KEY_UP=FullCanvas.KEY_UP_ARROW;
e.KEY_DOWN=FullCanvas.KEY_DOWN_ARROW;
e.KEY_LEFT=FullCanvas.KEY_LEFT_ARROW;
e.KEY_RIGHT=FullCanvas.KEY_RIGHT_ARROW;
e.KEY_SELECT=FullCanvas.KEY_SOFTKEY3;
break;
case Emulator.MOTOROLA_V600:
e.KEY_SOFT1=21;
e.KEY_SOFT2=22;
e.KEY_UP=1;
e.KEY_DOWN=6;
e.KEY_LEFT=2;
e.KEY_RIGHT=5;
e.KEY_SELECT=20;
break;
case Emulator.MOTOROLA_V878_V690:
case Emulator.MOTOROLA_E680:
case Emulator.MOTOROLA_C650:
case Emulator.MOTOROLA_E398:
e.KEY_SOFT1=-21;
e.KEY_SOFT2=-22;
e.KEY_UP=-1;
e.KEY_DOWN=-6;
e.KEY_LEFT=-2;
e.KEY_RIGHT=-5;
e.KEY_SELECT=-20;
break;
case Emulator.MOTOROLA_A668:
e.KEY_SOFT1=FullCanvas.KEY_SOFTKEY1;
e.KEY_SOFT2=FullCanvas.KEY_SOFTKEY2;
e.KEY_UP=FullCanvas.KEY_UP_ARROW;
e.KEY_DOWN=FullCanvas.KEY_DOWN_ARROW;
e.KEY_LEFT=FullCanvas.KEY_LEFT_ARROW;
e.KEY_RIGHT=FullCanvas.KEY_RIGHT_ARROW;
e.KEY_SELECT=FullCanvas.KEY_SOFTKEY3;
break;
case Emulator.SONYERICSSON_K700:
case Emulator.SONYERICSSON_K506:
case Emulator.SONYERICSSON_S700:
case Emulator.SONYERICSSON_T628:
case Emulator.SONYERICSSON_P908:
e.KEY_SOFT1=FullCanvas.KEY_SOFTKEY1;
e.KEY_SOFT2=FullCanvas.KEY_SOFTKEY2;
e.KEY_UP=FullCanvas.KEY_UP_ARROW;
e.KEY_DOWN=FullCanvas.KEY_DOWN_ARROW;
e.KEY_LEFT=FullCanvas.KEY_LEFT_ARROW;
e.KEY_RIGHT=FullCanvas.KEY_RIGHT_ARROW;
e.KEY_SELECT=FullCanvas.KEY_SOFTKEY3;
e.KEY_C=-8;
break;
case Emulator.SAMSUNG_S208:
case Emulator.SAMSUNG_E108:
case Emulator.SAMSUNG_D508:
e.KEY_SOFT1=FullCanvas.KEY_SOFTKEY1;
e.KEY_SOFT2=FullCanvas.KEY_SOFTKEY2;
e.KEY_UP=FullCanvas.KEY_UP_ARROW;
e.KEY_DOWN=FullCanvas.KEY_DOWN_ARROW;
e.KEY_LEFT=FullCanvas.KEY_LEFT_ARROW;
e.KEY_RIGHT=FullCanvas.KEY_RIGHT_ARROW;
e.KEY_SELECT=FullCanvas.KEY_SOFTKEY3;
break;
case Emulator.SIEMENS_S57:
e.KEY_SOFT1=FullCanvas.KEY_SOFTKEY1;
e.KEY_SOFT2=FullCanvas.KEY_SOFTKEY2;
e.KEY_UP=FullCanvas.KEY_UP_ARROW;
e.KEY_DOWN=FullCanvas.KEY_DOWN_ARROW;
e.KEY_LEFT=FullCanvas.KEY_LEFT_ARROW;
e.KEY_RIGHT=FullCanvas.KEY_RIGHT_ARROW;
e.KEY_SELECT=FullCanvas.KEY_SOFTKEY3;
break;
case Emulator.NEC_N800:
case Emulator.NEC_N810:
case Emulator.NEC_N820:
case Emulator.NEC_N100:
e.KEY_SOFT1=FullCanvas.KEY_SOFTKEY1;
e.KEY_SOFT2=FullCanvas.KEY_SOFTKEY2;
e.KEY_UP=FullCanvas.KEY_UP_ARROW;
e.KEY_DOWN=FullCanvas.KEY_DOWN_ARROW;
e.KEY_LEFT=FullCanvas.KEY_LEFT_ARROW;
e.KEY_RIGHT=FullCanvas.KEY_RIGHT_ARROW;
e.KEY_SELECT=FullCanvas.KEY_SOFTKEY3;
break;
case Emulator.PANASONICX_MX6:
case Emulator.PANASONICX_X800:
case Emulator.PANASONICX_A500:
e.KEY_SOFT1=FullCanvas.KEY_SOFTKEY1;
e.KEY_SOFT2=FullCanvas.KEY_SOFTKEY2;
e.KEY_UP=FullCanvas.KEY_UP_ARROW;
e.KEY_DOWN=FullCanvas.KEY_DOWN_ARROW;
e.KEY_LEFT=FullCanvas.KEY_LEFT_ARROW;
e.KEY_RIGHT=FullCanvas.KEY_RIGHT_ARROW;
e.KEY_SELECT=FullCanvas.KEY_SOFTKEY3;
break;
case Emulator.DATANG_GX10N:
e.KEY_SOFT1=FullCanvas.KEY_SOFTKEY1;
e.KEY_SOFT2=FullCanvas.KEY_SOFTKEY2;
e.KEY_UP=FullCanvas.KEY_UP_ARROW;
e.KEY_DOWN=FullCanvas.KEY_DOWN_ARROW;
e.KEY_LEFT=FullCanvas.KEY_LEFT_ARROW;
e.KEY_RIGHT=FullCanvas.KEY_RIGHT_ARROW;
e.KEY_SELECT=FullCanvas.KEY_SOFTKEY3;
break;
case Emulator.TCL_E767:
e.KEY_SOFT1=FullCanvas.KEY_SOFTKEY1;
e.KEY_SOFT2=FullCanvas.KEY_SOFTKEY2;
e.KEY_UP=FullCanvas.KEY_UP_ARROW;
e.KEY_DOWN=FullCanvas.KEY_DOWN_ARROW;
e.KEY_LEFT=FullCanvas.KEY_LEFT_ARROW;
e.KEY_RIGHT=FullCanvas.KEY_RIGHT_ARROW;
e.KEY_SELECT=FullCanvas.KEY_SOFTKEY3;
break;
case Emulator.DOPOD_585:
e.KEY_SOFT1=FullCanvas.KEY_SOFTKEY1;
e.KEY_SOFT2=FullCanvas.KEY_SOFTKEY2;
e.KEY_UP=FullCanvas.KEY_UP_ARROW;
e.KEY_DOWN=FullCanvas.KEY_DOWN_ARROW;
e.KEY_LEFT=FullCanvas.KEY_LEFT_ARROW;
e.KEY_RIGHT=FullCanvas.KEY_RIGHT_ARROW;
e.KEY_SELECT=FullCanvas.KEY_SOFTKEY3;
break;
default:
throw new IllegalArgumentException("Unsupported Device");
}
}
private void initFontSize(int device){
switch(device){
case Emulator.NOKIA_N7210:
sizeSmall=12;
sizeMedium=12;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -