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

J2ME中用低級界面實現簡單的數字輸入

編輯:J2ME

  最近在寫一個J2ME程序 其中包括一個數字輸入的textfIEld 在手機上面實現的時候(s40模擬器)數字的輸入很煩瑣,所以想避開這種問題 於是改用低級界面實現:private StringBuffer sb=new StringBuffer(); //定義一個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; }
  repaint();
  }

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

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