為了方便廣大考生更好的復(fù)習(xí),小編編輯整理提供了Java認(rèn)證:J2ME中用低級(jí)界面實(shí)現(xiàn)數(shù)字輸入,以供各位考生考試復(fù)習(xí)參考,希望對(duì)考生復(fù)習(xí)有所幫助。
J2ME中使用低級(jí)界面實(shí)現(xiàn)簡(jiǎn)單數(shù)字輸入
最近在寫(xiě)一個(gè)j2me程序 其中包括一個(gè)數(shù)字輸入的textfield 在手機(jī)上面實(shí)現(xiàn)的時(shí)候(s40模擬器)數(shù)字的輸入很煩瑣,所以想避開(kāi)這種問(wèn)題 于是改用低級(jí)界面實(shí)現(xiàn):
private StringBuffer sb=new StringBuffer(); //定義一個(gè)StringBuffer用來(lái)保存輸入的數(shù)字
private int len=4; //想輸入的數(shù)字的長(zhǎng)度
private int temp; //取數(shù)字
protected void paint(Graphics g)
{
g.setColor(WHITE);
g.fillRect(0,0,getWidth(),getHeight());
g.setColor(BLACK);
g.drawString(sb.toString(),getWidth()/2,getHeight()/2,Graphics.TOP|Graphics.HCENTER);
//顯示輸入內(nèi)容
}
protected void keyPressed(int keynum)
{
if (sb.length()==len) //開(kāi)始鍵功能描述
{
switch (keynum)
{
case KEY_STAR:
temp=Integer.parseInt(sb.toString()); //得到了屏幕中輸入的數(shù)字 接下來(lái)自己可以利用數(shù)字按下*開(kāi)始動(dòng)能
break;
default:
break;
}
}
if (sb.length() {
switch (keynum)
{
case KEY_NUM1:
sb.append("1");
break;
case KEY_NUM2:
sb.append("2");
break;
case KEY_NUM3:
sb.append("3");
break;
case KEY_NUM4:
sb.append("4");
break;
case KEY_NUM5:
sb.append("5");
break;
case KEY_NUM6:
sb.append("6");
break;
case KEY_NUM7:
sb.append("7");
break;
case KEY_NUM8:
sb.append("8");
break;
case KEY_NUM9:
sb.append("9");
break;
case KEY_NUM0:
sb.append("0");
break;
default: break;
}
}
if(sb.length()>0) //退格鍵函數(shù)描述
{
if(keynum==KEY_POUND) sb.deleteCharAt(sb.length()-1);
}
repaint();
}
protected void keyReapeated(int keynum)
{
if(sb.length()>0) //長(zhǎng)按一次性去除建函數(shù)描述
if(keynum==KEY_POUND) sb=null; }
repaint();
}
注意:keyReapeated()方法JTWI 并未做硬性規(guī)定,所以我們?cè)陂_(kāi)發(fā)的時(shí)候一定要用Canvas.hasRepeatedEvents()方法來(lái)進(jìn)行實(shí)際的偵測(cè)。