?? midlet.java
字號:
/* * Midlet.java * * Created on 2003年11月25日, 上午10:29 */package handenglish;import javax.microedition.midlet.*;import javax.microedition.lcdui.*;import java.util.*;import java.io.*;/** * * @author com * @version */public class Midlet extends MIDlet implements CommandListener{ public final int WIN_MENU = 1; //菜單 public final int WIN_JDC = 2; //選擇單員 public final int WIN_HELP = 3;//幫助 public final int WIN_MEG=4;//系統(tǒng)通告 public final int WIN_SELUNIT = 5;//游戲測試選擇單元 public final int WIN_LIST = 6;//詞庫列表 public final int WIN_DOWNWORD = 7; //下載單詞 public final int WIN_DOWNLIST = 8;//下載列表 public final int WIN_REMEMBERWORD = 9;//記憶單詞 public final int WIN_GAME = 10;//測試訓練 public final int WIN_CONNECT = 11; public final int WIN_QUERY = 12; public final int npu=20; //每UNIT單詞數 private Display display; private WelcomeView m_welcomeView; private WordUpdataView m_wordUpdataView; private UnitSelectView m_unitSelectView; private MyList m_MyList; private GameCanvas gameCanvas; public int m_unitNumber; public int m_wordTotal; private JdcApp m_jdcApp; private Form m_MegForm,m_SearchForm; public Command cmdBack,cmdRecv,cmdUpdate; private SysParam m_SysParam; public Midlet(){ /* DbApi systemDb = new DbApi( "systemdb" ); systemDb.deleteAll(); systemDb.closeDatabase(); DbApi listDb = new DbApi( "listdb" ); listDb.deleteAll(); listDb.closeDatabase();*/ m_SysParam = SysParam.getInstance(); cmdBack=new Command("返回",Command.BACK,1 ); cmdRecv = new Command("下載詞庫",Command.OK,1 ); cmdUpdate=new Command("更新詞庫列表",Command.SCREEN,1 ); initWelcomeView(); m_welcomeView.setDispType(3); display = Display.getDisplay(this); } public void getUnitNum(){ DbApi wordDb=new DbApi("wordsdb"); try { m_wordTotal=wordDb.getRecordNum(); m_unitNumber=(m_wordTotal+npu-1)/npu; } finally { wordDb.closeDatabase(); } } /* public void setAllNull(){ gameCanvas=null; m_jdcApp=null; m_wordUpdataView=null; } */ private void freeWin( Displayable s ) { if ( s == m_welcomeView ) m_welcomeView = null; else if ( s == m_unitSelectView ) m_unitSelectView = null; else if ( s == m_wordUpdataView ) m_wordUpdataView = null; else if ( s == gameCanvas ) gameCanvas = null; else if ( s == m_jdcApp ) m_jdcApp = null; else if ( s == m_MegForm ) m_MegForm = null; else if ( s == m_MyList ) m_MyList = null; else if ( s == m_SearchForm ) m_SearchForm = null; System.gc(); } public void startApp(){ display.setCurrent(m_welcomeView); } public void exit(){ destroyApp(true); notifyDestroyed(); } public void getUnit(int nowUnitType,int nowUnitId ,Vector nowVector) { nowVector.removeAllElements(); if (nowUnitType==1) m_SysParam.getUnit(nowUnitId,npu,nowVector); else m_SysParam.getDiffUnit(nowVector); } public void nowDisplay(Displayable s,int type){ switch( type ) { case WIN_JDC: initUnitSelectView(0); display.setCurrent(m_unitSelectView); break; case WIN_MENU: initWelcomeView(); m_welcomeView.setDispType(1); display.setCurrent(m_welcomeView); break; case WIN_HELP: initWelcomeView(); m_welcomeView.setDispType(2); m_welcomeView.repaint(); //display.setCurrent(m_welcomeView);] return; case WIN_MEG: /*initWelcomeView(); m_welcomeView.setDispType(3); */ initMegForm(); display.setCurrent( m_MegForm); break; case WIN_SELUNIT: initUnitSelectView(1); display.setCurrent(m_unitSelectView); break; case WIN_DOWNWORD: boolean tB = ( ( MyList ) s ).isNullList(); if(!tB){ initWordUpdataView(7); m_wordUpdataView.newNumber=1; m_wordUpdataView.listNull= false; m_wordUpdataView.listSelectName=( ( MyList ) s ).getName(); m_wordUpdataView.listSelectNum=( ( MyList ) s ).getNo(); m_wordUpdataView.listSelectNumMax=( ( MyList ) s ).getVolume(); //m_wordUpdataView.getOld(); display.setCurrent(m_wordUpdataView); } else{ Alert alert = new Alert( "錯誤信息","詞庫列表為空,請先下載詞庫列表!" ,null,AlertType.ERROR ); alert.setTimeout( Alert.FOREVER ); display.setCurrent( alert,s ); return; } break; case WIN_DOWNLIST: initWordUpdataView(2); m_wordUpdataView.checkUp=false; display.setCurrent(m_wordUpdataView); break; case WIN_LIST: showList(); break; case WIN_REMEMBERWORD: if ( m_jdcApp == null ) { m_jdcApp=new JdcApp(this,m_unitSelectView.getUnitType(),m_unitSelectView.getUnitNumber()-1); display.setCurrent(m_jdcApp); m_jdcApp.startThread(); } else return; break; case WIN_GAME: if ( gameCanvas == null ) { gameCanvas=new GameCanvas(this,m_unitSelectView.getUnitType(),m_unitSelectView.getUnitNumber()-1); display.setCurrent(gameCanvas); gameCanvas.startThread(); } else return; break; case WIN_CONNECT: initWordUpdataView(0); display.setCurrent(m_wordUpdataView); break; case WIN_QUERY: initSearchForm(); display.setCurrent( m_SearchForm ); break; } freeWin( s ); } /*public void doUpdata(int nowState){ initWordUpdataView(nowState); display.setCurrent(m_wordUpdataView); } public void doGame(int nowUnitType,int nowUnitNumber){ if ( gameCanvas==null ) gameCanvas=new GameCanvas(this,nowUnitType,nowUnitNumber); display.setCurrent(gameCanvas); gameCanvas.startThread(); } public void doRememberWords(int nowUnitType,int nowUnitNumber) { m_jdcApp=new JdcApp(this,nowUnitType,nowUnitNumber); display.setCurrent(m_jdcApp); m_jdcApp.StartThread(); } public void responseUnitSelect(){ doRememberWords(m_unitSelectView.getUnitType(),m_unitSelectView.getUnitNumber()-1); m_unitSelectView = null; } public void doGameUnitSelect(){ doGame(m_unitSelectView.getUnitType(),m_unitSelectView.getUnitNumber()-1); m_unitSelectView = null; } */ public void doWriteWord(String nowWord, String nowChinese, String nowSpell) { m_SysParam.writeWord(nowWord,nowChinese,nowSpell); } public boolean doDelWord(String nowWord) { return m_SysParam.deleteWord(nowWord); } public void pauseApp() { } public void destroyApp(boolean unconditional) { } public void showList( ) { if( m_MyList == null ) { // Command cmdBack=new Command("返回",Command.BACK,1 ); m_MyList = new MyList( this,"詞庫列表"); m_MyList.loadData(); m_MyList.addCommand( cmdUpdate ); m_MyList.addCommand( cmdRecv ); m_MyList.addCommand( cmdBack ); } m_MyList.initSetSelectedIndex(); m_MyList.setCommandListener( this ); Display.getDisplay( this ).setCurrent( m_MyList ); } public void commandAction(Command c, Displayable s) { if(c==cmdBack&&s== m_MegForm) { SysParam.getInstance().isRead=true; SysParam.getInstance().setParameter(); nowDisplay(s,WIN_MENU); } else if( ( s == m_MyList || s == m_SearchForm ) && c == cmdBack ) nowDisplay(s,WIN_MENU); else if ( s == m_MyList && c == cmdRecv ) nowDisplay(s,WIN_DOWNWORD ); else if( s == m_MyList && c == cmdUpdate ) nowDisplay(s,WIN_DOWNLIST ); } public void initWelcomeView() { if ( m_welcomeView == null ) m_welcomeView=new WelcomeView(this); } public void initUnitSelectView(int m) { if ( m_unitSelectView == null ) m_unitSelectView=new UnitSelectView(this); m_unitSelectView.setDisplayType(m); } public void initWordUpdataView(int state){ if ( m_wordUpdataView==null ) m_wordUpdataView=new WordUpdataView(this); m_wordUpdataView.setCurState(state); } public void initMegForm(){ if(m_MegForm==null){ m_MegForm = new Form("最新通告"); m_MegForm.append(new StringItem(null,SysParam.getInstance().msg)); m_MegForm.addCommand(cmdBack); m_MegForm.setCommandListener(this); } // display.setCurrent(megForm); } private void initSearchForm() { if ( m_SearchForm == null ) m_SearchForm = new SearchForm( this ); } public void setUnitPos( int unitId ) { SysParam.getInstance().curUnit = unitId; SysParam.getInstance().setParameter(); }}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -