// 定義一個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()方法來進行實際的偵測。