取得手机按键值的midlet

//j2me 按任意键,显示键值到手机屏幕上

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.Font;
import javax.microedition.lcdui.CustomItem;
import java.util.*;

public class KeyTest extends MIDlet implements CommandListener
{
 private Command exit;
 private Display display;
 private myCanvas mc;
 private int keynum=0;
// private String keyname;
  private String fontc;
 
 public KeyTest()
 {
  exit = new Command("exit",Command.EXIT,1);
  display = Display.getDisplay(this);
  mc = new myCanvas();
  mc.addCommand(exit);
  mc.setCommandListener(this);
 }
 
 protected void startApp()
 {
  System.out.println("startApp!!!!!!!!!!!!!!");
  display.setCurrent(mc);
  
 }
 
 protected void pauseApp()
 {
 }
 
 protected void destroyApp(boolean unconditional)
 {
  
 }
 
 public void commandAction(Command command,Displayable displayable)
 {
  if(command == exit)
  {
   destroyApp(true);
   notifyDestroyed();
  }
 }
/* 
 protected void keyPressed(int keyCode)
 {
//  keyname = getGameAction(keyCode);

  keynum = keyCode;
   mc.repaint();
   System.out.println("keyPressed!!!!!!!!!!!!!");
 }
*/ 
 class myCanvas extends Canvas
 {
  private Image offScreenBuffer;
  
  
  public myCanvas()
  {
   offScreenBuffer = Image.createImage(getWidth(),getHeight());
  
  }
  
  private void render()
  { Font font = Font.getDefaultFont();
   Graphics osg = offScreenBuffer.getGraphics();
   osg.setColor(0x00000000);
   osg.fillRect(0,0,getWidth(),getHeight());
   osg.setColor(0x00ffffff);
   fontc = "this keyNUM is: ";
   try
   {
   int fontwidth = font.stringWidth(fontc);
    }
    catch(Exception x)
    {
    }
//  osg.drawString("this keyNAME is: "+keyname ,getWidth()/2,getHeight()/2,Graphics.HCENTER|Graphics.VCENTER);
   osg.drawString("this keyNUM is: "+keynum,50,offScreenBuffer.getHeight()/2,Graphics.LEFT|Graphics.TOP);   
   System.out.println("render!!!!!!!!!!!!!3");
  }
  public void paint(Graphics g)
  {
   System.out.println("paint!!!!!!!!!!1");
   render();
   g.drawImage(offScreenBuffer,0,0,Graphics.LEFT|Graphics.TOP);
  }

 protected void keyPressed(int keyCode)
 {
  keynum = keyCode;
   repaint();
 }  

 }
}

原文地址:https://www.cnblogs.com/secbook/p/2655450.html