您的位置:首页 > 其它

电子词典开发过程中的音标界面的开发

2008-11-28 23:46 302 查看
     这次我们四人一组开发一个用于手机上的电子词典。我被分配的任务是写音标这个界面。是用低级界面的开发工具来开发的。import java.io.IOException;

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;

public class Phonetic extends  Canvas implements CommandListener{
    private Command Chpage=new Command("翻页",Command.BACK,1);
    private Command okCom=new Command("确定",Command.OK,1);
    private String[] s=new String[42];
    private Image[] img=new Image[42];
    private int page,count,key,x2;
    public Phonetic()
    {
        page=1;count=0;key=-1;x2=0;
        this.addCommand(Chpage);
        this.addCommand(okCom);
        this.setCommandListener(this);
        for(int i=0;i<s.length;i++){
            Integer I= new Integer(i);
            s[i]=I.toString();
            }
    for(int i=0;i<s.length;i++){
            try {
                img[i]=Image.createImage("/"+s[i]+".png");
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }

    protected void paint(Graphics g){
        int width=getWidth();
        int height=getHeight();
        g.setColor(250,250,250);
        g.fillRect(0, 20, width, height-20);
        if(key>0){
            if(key!=42&&key!=35&&key!=48){
            g.drawImage(img[key+count-49],x2 , 0, Graphics.TOP|Graphics.LEFT);
            x2=x2+img[key+count-49].getWidth();
            }
            else if(key==42){
                g.drawImage(img[key+count-43+10],x2 , 0, Graphics.TOP|Graphics.LEFT);
                x2=x2+img[key+count-43+10].getWidth();
            }
            else if(key==35){
                g.drawImage(img[key+count-36+12],x2 , 0, Graphics.TOP|Graphics.LEFT);
                x2=x2+img[key+count-36+12].getWidth();
            }
            else if(key==48){
                g.drawImage(img[key+count-48+11],x2 , 0, Graphics.TOP|Graphics.LEFT);
                x2=x2+img[key+count-
4000
48+11].getWidth();
            }
            key=0;
        }
        int x1=0,y1=30;
        for(int i=count;i<42;i++){
        g.drawImage(img[i], x1, y1, Graphics.TOP|Graphics.LEFT);
        x1=x1+width/3;
        if(x1==width&&y1!=height-20){
            x1=0;
            y1=y1+(height-20)/4;
        }
        }
        
    }
    public void commandAction(Command c,Displayable d){
        if(c==okCom){
          //跳转 用于切换页面。。。
        }
        else if(c==Chpage){
        //  System.out.println(page);
            count+=12;
        //  System.out.println(count);
            repaint();
            page++;
            if(page>4){
                page=1;
                count=0;
            }
        }
    }
    protected void keyPressed(int keycode){
        if(keycode==Canvas.KEY_NUM0){
            key=keycode;
        }
        if(keycode==Canvas.KEY_NUM1){
            key=keycode;
        }
        if(keycode==Canvas.KEY_NUM2){
            key=keycode;
        }
        if(keycode==Canvas.KEY_NUM3){
            key=keycode;
        }
        if(keycode==Canvas.KEY_NUM4){
            key=keycode;
        }
        if(keycode==Canvas.KEY_NUM5){
            key=keycode;
    
        }
        if(keycode==Canvas.KEY_NUM6){
            key=keycode;
        
        }
        if(keycode==Canvas.KEY_NUM7){
            key=keycode;

        }
        if(keycode==Canvas.KEY_NUM8){
            key=keycode;
    
        }
        if(keycode==Canvas.KEY_NUM9){
            key=keycode;

        }
        if(keycode==Canvas.KEY_POUND){
            key=keycode;
        
        }
        if(keycode==Canvas.KEY_STAR){
            key=keycode;
    
        }
        repaint();
    }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  开发工具 任务 手机 c
相关文章推荐