protected void startApp() throws MIDletStateChangeException
{
display = Display.getDisplay(this);
mainCanvas = new MainCanvas();
new Thread(mainCanvas).start();
display.setCurrent(mainCanvas);
}
protected void pauseApp()
{
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException
{
}
}
package com.j2medev;
import javax.microedition.lcdui.*;
public class MainCanvas extends Canvas implements Runnable
{
private String buttonPressed;
private boolean leftPressed;
private boolean rightPressed;
private int px = getWidth() / 2;
public final int py = getHeight() / 2;
public MainCanvas()
{
buttonPressed = " ";
}
private void left()
{
if (px >= 0)
{
px--;
}
buttonPressed = "LEFT";
repaint();
}
private void right()
{
if (px <= getWidth())
{
px++;
}
buttonPressed = "RIGHT";
repaint();
}
public void run()
{
while (true)
{
if (leftPressed)
{
left();
}
if (rightPressed)
{
right();
}
try
{
Thread.sleep(50);
} catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
public void paint(Graphics g)
{
g.setColor(0xFFFFFF);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(0x000000);
g.drawString(buttonPressed, 20, 20, Graphics.LEFT | Graphics.TOP);
g.drawString("J2ME", px, py, Graphics.HCENTER | Graphics.TOP);
}
public void keyReleased(int keyCode)
{
int action = getGameAction(keyCode);