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

📄 wordupdataview.java

📁 英语背单词联网版本
💻 JAVA
字号:
/* * MainCanvas.java * * Created on 2003年11月12日, 下午9:45 */package handenglish;import javax.microedition.lcdui.*;import javax.microedition.io.*;import java.io.*;import javax.microedition.rms.*;import java.util.*;import javax.microedition.midlet.*;/** * * @author  com * @version */public class WordUpdataView extends Canvas implements ReceiveListener,Runnable{//CommandListener,    private Receive receive;    //0-初始化 1-更新信息 2-更新列表中 3-列表下载完毕 4-显示列表 5-下载词库中 6-下载完毕 7-选择册数    private int curState;    private Midlet midlet;    private boolean checked;    private int listNum,listNumMax,loadPre;    private Thread loadThread;    public int listSelectNum,newNumber,listSelectNumMax;    public String listSelectName;    public boolean checkUp,checkLoad,listNull,m_First;    // private int oldNumber;    // private String oldName;    private int receiveNO;        public WordUpdataView(Midlet midlet){    	setFullScreenMode( true );        checkUp=false;;        this.midlet = midlet;        receive = new Receive(midlet);        receive.setReceiveListener( this );        listNum=0;        checked = false;        loadPre=0;    }        public void setCurState(int nowCurState){        curState=nowCurState;    }    public void startThread(){        if(loadThread==null) {            loadThread=new Thread(this);            loadThread.start();        }    }    public void stopThread() {        loadThread = null;    }    public void paint(Graphics g) {        g.setColor(255,255,255);        g.fillRect(0,0,128,128);        g.setColor(0,0,0);        g.setFont(Font.getFont(Font.FACE_SYSTEM,Font.STYLE_PLAIN,Font.SIZE_SMALL));        if(curState==0||(curState==2&&receiveNO==0)||(curState==5&&receiveNO==0)){            g.drawString( "正在与服务器",15,10,g.TOP| g.LEFT );            g.drawString( "建立连接,",15,30,g.TOP| g.LEFT );            g.drawString( "请稍候......" ,15,50,g.TOP| g.LEFT );            g.drawString( "[由于有时网络繁忙," ,15,70,g.TOP| g.LEFT );            g.drawString( "可能需等待较长时间]" ,15,90,g.TOP| g.LEFT );            g.drawString("取消",100,113,g.LEFT|g.TOP);        }        else if( curState == 1 ) {            g.drawString( "更新信息",45,10,g.TOP| g.LEFT);            g.drawString( "词库列表已更新" , 5,40,g.TOP| g.LEFT);            g.drawString( "是否下载新的词库列表" , 5,65,g.TOP| g.LEFT);            g.drawString("确定",5,113,g.LEFT|g.TOP);            g.drawString("取消",100,113,g.LEFT|g.TOP);        }        else if ( curState == 2) {            if(receiveNO==1){                g.drawString( "正在接收词库列表,",15,20,g.TOP| g.LEFT);                g.drawString( "已下载" ,15,60,g.TOP| g.LEFT);            }            else if(receiveNO==2){                g.drawString( "正在存储词库列表,",15,20,g.TOP| g.LEFT);                g.drawString( "已存储" ,15,60,g.TOP| g.LEFT);            }            g.drawString( "请稍候......" ,15,40,g.TOP| g.LEFT);            g.drawString( ""+loadPre+"%",75,60,g.TOP| g.LEFT);            //g.drawString("取消",100,113,g.LEFT|g.TOP);            for(int i=0;i<10;i++)                g.drawRect(15+8*i,80,6,12);            for(int i=0;i<loadPre/10;i++){                g.fillRect(15+8*i,80,6,12);            }        }        else if(curState == 5){            if(receiveNO==1){                g.drawString( "正在接收词库,",15,20,g.TOP| g.LEFT);                g.drawString( "已下载" ,15,60,g.TOP| g.LEFT);            }            else if(receiveNO==2){                g.drawString( "正在存储词库,",15,20,g.TOP| g.LEFT);                g.drawString( "已存储" ,15,60,g.TOP| g.LEFT);            }            g.drawString( "请稍候......" , 15,40,g.TOP| g.LEFT);            g.drawString( ""+loadPre+"%",75,60,g.TOP| g.LEFT);            //g.drawString("取消",100,113,g.LEFT|g.TOP);            for(int i=0;i<10;i++)                g.drawRect(15+8*i,80,6,12);            for(int i=0;i<loadPre/10;i++)//                g.fillRect(15+8*i,80,6,12);        }        else if(curState == 7){            g.drawString( "词库信息",45,10,g.TOP| g.LEFT);            if(SysParam.getInstance().storeVolume<0){                g.drawString( "当前词库为空" ,5,40,g.TOP| g.LEFT);            }            else{                g.drawString( "当前已下载的词库:" ,5,30,g.TOP| g.LEFT);                g.drawString( SysParam.getInstance().storeName+"第"+SysParam.getInstance().storeVolume+"册" ,5,45,g.TOP| g.LEFT);            }            g.drawString( "你要下载的词库:",5,65,g.TOP| g.LEFT);            g.drawString( listSelectName ,5,80,g.TOP| g.LEFT);            if (  m_First ) {                if ( listSelectName.equals( SysParam.getInstance().storeName ) && ( newNumber < listSelectNumMax ) )                    newNumber =SysParam.getInstance().storeVolume + 1;                m_First = false;            }                        g.drawString( "选择册数: ["+String.valueOf(newNumber)+"]" ,5,95,g.TOP| g.LEFT);            g.drawString("确定",5,113,g.LEFT|g.TOP);            g.drawString("取消",100,113,g.LEFT|g.TOP);        }    }      /*  public void getOld(){        oldName=SysParam.getInstance().storeName;        oldNumber=SysParam.getInstance().storeVolume;    } */    public void dataReceived(int cmd, int status) {        switch( cmd ) {            case Receive.MSG_LOGIN:                if ( status != 0 ) {                    curState = 1;                    repaint();                }                else{                    stopThread();                    midlet.nowDisplay(this,midlet.WIN_MENU);                }                break;            case Receive.MSG_LIST:                stopThread();                midlet.nowDisplay(this,midlet.WIN_MENU);                break;            case Receive.MSG_WORDS:                stopThread();                midlet.setUnitPos(1);                midlet.nowDisplay(this,midlet.WIN_MENU);                break;        }    }        public void dataReceiving(int cmd, int pos, int total,int send) {        receiveNO=send;        loadPre=pos*100/total;        repaint();        serviceRepaints();    }        public void errorReceived(int errno) {        Alert alert = new Alert( "错误信息","通讯错误,请与服务提供商联系!错误号=" + errno ,null,AlertType.ERROR );        alert.setTimeout( Alert.FOREVER );        Display.getDisplay( midlet ).setCurrent( alert );    }    public void getList() {        receive.getList(0);    }    public void getWords(String name,int no,int volume ) {        receive.getWords(name,no,volume );    }    public void run(){        Thread current = Thread.currentThread();        while(current == loadThread){            try{                Thread.sleep(200);                repaint();                serviceRepaints();                if(!checkLoad){                    checkLoad=true;                    if(curState==0)                        receive.checkUpdate();                    else if(curState==2)                        getList();                    else if(curState==5)                        getWords(listSelectName,listSelectNum,newNumber);                }            }catch(Exception e){                //System.out.println(e.toString());            }        }    }    protected  void keyPressed(int keyCode) {        if(keyCode==-7) {            if(curState==1){                receive.closeConn();                midlet.nowDisplay(this,midlet.WIN_MENU);            }            else if(curState==7){                // midlet.showList(this);                midlet.nowDisplay(this,midlet.WIN_LIST );            }            else if((curState==5&&receiveNO==0)||(curState==2&&receiveNO==0)||curState==0){                stopThread();                receive.closeConn();                midlet.nowDisplay(this,midlet.WIN_MENU);            }        }        else if(keyCode==32 || keyCode == -6){            if(curState==1){                curState=2;                checkUp=true;                //startThread();                checkLoad=false;                /*curState=2;                repaint();                serviceRepaints();                getList();*/            }            else if(curState==7){                if(!listNull){                    curState=5;                    checkUp=true;                    startThread();                    checkLoad=false;                    /*curState=5;                    repaint();                    serviceRepaints();                    getWords(listSelectName,listSelectNum,newNumber);*/                }            }        }        else if(keyCode==-3){            if(curState == 7){                if(newNumber>1)                    newNumber--;                else                    newNumber=listSelectNumMax;                repaint();            }        }        else if(keyCode==-4){            if(curState == 7){                if(newNumber<listSelectNumMax)                    newNumber++;                else                    newNumber=1;                repaint();            }        }    }        public void showNotify() {        if(!checkUp&&curState==0){            loadPre=0;            checkUp=true;            startThread();            checkLoad=false;        }        else if(!checkUp&&curState==2){            loadPre=0;            checkUp=true;            startThread();            checkLoad=false;        }    }    }

⌨️ 快捷键说明

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