Name That Key
hande ataizi the servant cd musicali beat it michael jackson namsos sony mdrv 700 dj los juanes hermes profumi the veils com maria magdalena sandra la donna della spiaggia toner hp 5l software motorola c350 nino d angelo senza giacca i cravata mezcla latina el pasito ac adapter roger rabbit cuffie per ipod mini hjkl adv decapitazione di americani batidora don omar fc 100 radar jrc il grande bordello gioco olimpico whirlpool vetroceramica hard drive 250 gb lettore dvd sintonizzatore portatile informadove hotels i giochi online ogni orologio longines admiral ridisc dvd hotel a caserta sexy body radeon 9550 pentax 5x uomini a me tatoo folletto borse videocamere vaschetta neonato stampante laser fronte e retro epson www internazionale com orari treni fs deepabyss ricoh 7100 i due sergenti fax leonardo telecom inchiostro standard telecom venere bianca caps incestuose giochi di mazzate giuffre video scandalo croazia programmi inglesi paris hilton s sex tape cartina stradali milano emancipazione femminile se tu mi aiuterai testo zombie the cramberries sony vaio style dvd spindle majestic dvd 176 diesel the first fifteen 89 04 cazzi mega incontro caorle moglie a sorpresa ethan hawke punkreas bass staffa da parete tv samsung accessori gzmc500 jvc recife milano biglietti aerei exz50 megapixel nellie reason hobastank ht acero w upgrade windows xp professional madam fujiwara teika diyet hp wireless ferrandini grand hotel nouvel opera nino d agostino reno intrattenimento movie console psp villaggio vacanza toscana toilette montblanc boheme hyundai coupe 20i 16v fx max prodotti igiene jena malone elezion fiera del giocattolo tavoli consolle punto edu piemonte provincie left outiside alone sound blaster platinum mezo feat liber sexi infermiere v220 motorola software blakc eyed peas i focker in dvd dmcfz20 accessori christian personals girmi tr30 forniture orologeria mitsubishi milano sesso orale roma elezioni provinciali le barzellette copertina dvd jolly paper spa ciclone moby srl fiat km 0 doblo diesel grossi cazzi in culo michelle vieth gratis vj camilla mozaki accessori scuola portatile 17 3 2ghz hp zd8270ea nero 6 plugin dvd video accompgnatrici con telefono videocamera zoom 30x lego ferrari viewsonic lcd camara de comercio de lima scuole serali a gorizia giudice pace nuova smart fortwo auto nuove foto donne in lingerie sexy nikeid scarpe pamela anderson racconti erotici ventiquattro piedi pensiero stupendo masterizzatore lacie dvd philips 170s5fs cercasi ragazzo edward chapman eberard donna indecente elektra e100 www altavista con stepping out solo incontri new york taxi eva henger dvd video my love is like wo pioneer djm300
/*
* NameThatKeyMidlet
* by Michael Sharon
* copyleft 2006
*
* Demonstrates event handling with the Canvas low level UI
*/
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Graphics;
import javax.microedition.midlet.MIDlet;
public class NameThatKeyMidlet extends MIDlet
implements CommandListener {
// The MIDlet's Display object
private Display display;
// Flag indicating first call of startApp
protected boolean started;
// Our Exit command
private Command exitCommand;
protected void startApp() {
System.out.println("I'm starting!!! - " started);
if (!started) {
display = Display.getDisplay(this);
Canvas canvas = new KeyFinderCanvas();
exitCommand = new Command("Exit", Command.EXIT, 0);
canvas.addCommand(exitCommand);
canvas.setCommandListener(this);
display.setCurrent(canvas);
started = true;
System.out.println("Application Started! Yay! - " started);
}
}
protected void pauseApp() {
}
protected void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable d) {
if (c == exitCommand) {
// Exit. No need to call destroyApp
// because it is empty.
notifyDestroyed();
}
}
}
class KeyFinderCanvas extends Canvas {
static int[] keyCodes = {KEY_NUM0, KEY_NUM1, KEY_NUM2, KEY_NUM3, KEY_NUM4,
KEY_NUM5, KEY_NUM6, KEY_NUM7, KEY_NUM8, KEY_NUM9,
KEY_POUND, KEY_STAR};
static String[] keyNames = {"KEY_NUM0", "KEY_NUM1", "KEY_NUM2", "KEY_NUM3", "KEY_NUM4",
"KEY_NUM5", "KEY_NUM6", "KEY_NUM7", "KEY_NUM8", "KEY_NUM9",
"KEY_POUND", "KEY_STAR"};
static int[] gameActions = {
UP, DOWN, LEFT, RIGHT, FIRE,
GAME_A, GAME_B, GAME_C, GAME_D};
static String[] gameNames = {
"UP", "DOWN", "LEFT", "RIGHT", "FIRE",
"GAME_A", "GAME_B", "GAME_C", "GAME_D" };
int lastKeyCode = 0;
int lastX;
int lastY;
boolean pointer;
protected void keyPressed(int keyCode) {
lastKeyCode = keyCode;
repaint();
}
protected void keyRepeated(int keyCode) {
lastKeyCode = keyCode;
repaint();
}
protected void keyReleased(int keyCode) {
lastKeyCode = 0;
repaint();
}
protected void pointerPressed(int x, int y) {
lastX = x;
lastY = y;
pointer = true;
repaint();
}
protected void pointerDragged(int x, int y) {
lastX = x;
lastY = y;
pointer = true;
repaint();
}
protected void pointerReleased(int x, int y) {
pointer = false;
repaint();
}
protected void paint(Graphics g) {
g.setColor(0xffffff);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(0);
if (lastKeyCode != 0) {
String keyText = "keyCode " lastKeyCode;
String keyName = null;
// See if it is a standard key
for (int i = 0; i < keyCodes.length; i ) {
if (lastKeyCode == keyCodes[i]) {
keyName = keyNames[i];
break;
}
}
if (keyName == null) {
// See if it is a game action
for (int i = 0; i < gameActions.length; i ) {
if (lastKeyCode == getKeyCode(gameActions[i])) {
keyName = gameNames[i];
break;
}
}
}
g.drawString(keyText, getWidth()/2, getHeight()/2,
Graphics.BASELINE|Graphics.HCENTER);
if (keyName != null) {
g.drawString(keyName, getWidth()/2, getHeight()/2 g.getFont().getHeight(),
Graphics.BASELINE|Graphics.HCENTER);
}
} else if (pointer) {
g.drawString("(" lastX ", " lastY ")", getWidth()/2, getHeight()/2,
Graphics.BASELINE|Graphics.HCENTER);
}
}
}