电子词典开发过程中的音标界面的开发
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();
}
}
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();
}
}
相关文章推荐
- 由于Python本身自带的界面库功能并不强大,我们使用Python+wxPython作为界面开发平台,在公司新的项目中进行界面开发。开发过程使用Eclipse+PyDev 作为集成开发环境。产品发布时使用Py2exe进行打包。如今,在我的团队中,Pytho
- 移动开发过程中, 动画是必不可少的,有了动画,仿佛我们的程序有了生命一样.动画可以让我们的程序界面变化更流畅, 而不是很突兀的感觉.今天,就说一下CATransition过渡动画.
- iOS开发UI篇—以微博界面为例使用纯代码自定义cell程序编码全过程(二)
- iOS开发UI篇—以微博界面为例使用纯代码自定义cell程序编码全过程(三·完结)
- Android开发教程:游戏过程中按Home键后返回游戏界面
- qtopia2电子词典ZBEDIC (含移植过程还有我制作的拼音输入法压缩包)
- 电子词典开发几个知识点
- iOS开发UI篇—以微博界面为例使用纯代码自定义cell程序编码全过程(一)
- J2ME 拼图游戏 快速开发 全过程 (四)——游戏选项设置界面
- 界面驱动开发过程
- Qt实现简单的TCP网络电子词典(带界面,能并发)
- J2ME 拼图游戏 快速开发 全过程 (七)——设置图片后的图片预览界面
- C语言及程序设计进阶例程-14 开发一个电子词典
- Android开发过程中如何进行算法与界面的优化?
- iOS开发UI篇—以微博界面为例使用纯代码自定义cell程序编码全过程(一) - 文顶顶
- 记一款bug管理系统(bugdone.cn)的开发过程(2) -如何做好登录界面
- iOS开发UI篇—以微博界面为例使用纯代码自定义cell程序编码全过程(一)
- iOS开发UI篇—以微博界面为例使用纯代码自定义cell程序编码全过程(二) - 文顶顶
- iOS开发UI篇—以微博界面为例使用纯代码自定义cell程序编码全过程
- iOS开发UI篇—以微博界面为例使用纯代码自定义cell程序编码全过程(二)