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

📄 e.java

📁 J2me唆哈的代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
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 + -