程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2ME >> J2ME中用低級界面實現簡略的數字輸進

J2ME中用低級界面實現簡略的數字輸進

編輯:J2ME
最近在寫一個J2ME程序 其中包含一個數字輸進的textfIEld 在手機上面實現的時候(s40模仿器)數字的輸進很煩瑣,所以想避開這種標題 於是改用低級界面實現:
// 定義一個StringBuffer用來保留輸進的數字private StringBuffer sb=new StringBuffer(); private int len=4; // 想輸進的數字的長度private int temp; // 取數字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); // 顯示輸進內容} protected void keyPressed(int keynum){    if (sb.length()==len) // 開端鍵功效描寫    {        switch (keynum)        {        case KEY_STAR:            temp=Integer.parseInt(sb.toString()); // 得到了屏幕中輸進的數字            
        
// 接下來自己可以利用數字按下*開端動能 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) // 退格鍵函數描寫 { if(keynum==KEY_POUND) sb.deleteCharAt(sb.length()-1); } repaint();}protected void keyReapeated(int keynum){ if(sb.length()>0) // 長按一次性往除建函數描寫 if(keynum==KEY_POUND) sb=null;}

留心:keyReapeated()方法JTWI 並未做硬性規定,所以我們在開發的時候必定要用Canvas.hasRepeatedEvents()方法來進行實際的偵測。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved