<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_by_API%2Fjavax.microedition.lcdui%2FCanvas</id>
		<title>Java by API/javax.microedition.lcdui/Canvas - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_by_API%2Fjavax.microedition.lcdui%2FCanvas"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_by_API/javax.microedition.lcdui/Canvas&amp;action=history"/>
		<updated>2026-04-18T01:17:48Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_by_API/javax.microedition.lcdui/Canvas&amp;diff=2715&amp;oldid=prev</id>
		<title> в 17:43, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_by_API/javax.microedition.lcdui/Canvas&amp;diff=2715&amp;oldid=prev"/>
				<updated>2010-05-31T17:43:49Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 17:43, 31 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_by_API/javax.microedition.lcdui/Canvas&amp;diff=2716&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_by_API/javax.microedition.lcdui/Canvas&amp;diff=2716&amp;oldid=prev"/>
				<updated>2010-05-31T14:49:04Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Canvas.DOWN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import javax.microedition.lcdui.Canvas;&lt;br /&gt;
import javax.microedition.lcdui.rumand;&lt;br /&gt;
import javax.microedition.lcdui.rumandListener;&lt;br /&gt;
import javax.microedition.lcdui.Display;&lt;br /&gt;
import javax.microedition.lcdui.Displayable;&lt;br /&gt;
import javax.microedition.lcdui.Graphics;&lt;br /&gt;
import javax.microedition.lcdui.Image;&lt;br /&gt;
import javax.microedition.midlet.MIDlet;&lt;br /&gt;
public class Navigate2MIDlet extends MIDlet implements CommandListener {&lt;br /&gt;
  private Command exitCommand;&lt;br /&gt;
  Displayable nd;&lt;br /&gt;
  Image image = null;&lt;br /&gt;
  public Navigate2MIDlet() {&lt;br /&gt;
    try {&lt;br /&gt;
      image = Image.createImage(&amp;quot;/J.png&amp;quot;);&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
    }&lt;br /&gt;
    Display display = Display.getDisplay(this);&lt;br /&gt;
    nd = new Navigate2Canvas(image);&lt;br /&gt;
    exitCommand = new Command(&amp;quot;exit&amp;quot;, Command.EXIT, 1);&lt;br /&gt;
    nd.addCommand(exitCommand);&lt;br /&gt;
    nd.setCommandListener(this);&lt;br /&gt;
    display.setCurrent(nd);&lt;br /&gt;
  }&lt;br /&gt;
  public void startApp() {&lt;br /&gt;
  }&lt;br /&gt;
  public void pauseApp() {&lt;br /&gt;
  }&lt;br /&gt;
  public void destroyApp(boolean unconditional) {&lt;br /&gt;
  }&lt;br /&gt;
  public void commandAction(Command c, Displayable s) {&lt;br /&gt;
    notifyDestroyed();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class Navigate2Canvas extends Canvas {&lt;br /&gt;
  private Image image;&lt;br /&gt;
  private int newX = 0;&lt;br /&gt;
  private int newY = 0;&lt;br /&gt;
  private int stepX = 0;&lt;br /&gt;
  private int stepY = 0;&lt;br /&gt;
  public Navigate2Canvas(Image image) {&lt;br /&gt;
    this.image = image;&lt;br /&gt;
    newX = 0;&lt;br /&gt;
    newY = 0;&lt;br /&gt;
    stepX = getWidth() / 4;&lt;br /&gt;
    stepY = getHeight() / 4;&lt;br /&gt;
  }&lt;br /&gt;
  public void steppingXY(int x, int y) {&lt;br /&gt;
    newX += x;&lt;br /&gt;
    newY += y;&lt;br /&gt;
  }&lt;br /&gt;
  public void paint(Graphics g) {&lt;br /&gt;
    int width = this.getWidth();&lt;br /&gt;
    int height = this.getHeight();&lt;br /&gt;
    g.setGrayScale(255);&lt;br /&gt;
    g.fillRect(0, 0, width - 1, height - 1);&lt;br /&gt;
    g.setGrayScale(0);&lt;br /&gt;
    g.drawRect(0, 0, width - 1, height - 1);&lt;br /&gt;
    g.translate(newX, newY);&lt;br /&gt;
    g.drawImage(image, 0, 0, g.TOP | g.LEFT);&lt;br /&gt;
  }&lt;br /&gt;
  protected void keyPressed(int keyCode) {&lt;br /&gt;
    int gameaction = getGameAction(keyCode);&lt;br /&gt;
    switch (gameaction) {&lt;br /&gt;
    case UP:&lt;br /&gt;
      steppingXY(0, stepY);&lt;br /&gt;
      break;&lt;br /&gt;
    case DOWN:&lt;br /&gt;
      steppingXY(0, -stepY);&lt;br /&gt;
      break;&lt;br /&gt;
    case LEFT:&lt;br /&gt;
      steppingXY(stepX, 0);&lt;br /&gt;
      break;&lt;br /&gt;
    case RIGHT:&lt;br /&gt;
      steppingXY(-stepX, 0);&lt;br /&gt;
      break;&lt;br /&gt;
    }&lt;br /&gt;
    repaint();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Canvas.FIRE ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
import javax.microedition.lcdui.Canvas;&lt;br /&gt;
import javax.microedition.lcdui.rumand;&lt;br /&gt;
import javax.microedition.lcdui.rumandListener;&lt;br /&gt;
import javax.microedition.lcdui.Display;&lt;br /&gt;
import javax.microedition.lcdui.Displayable;&lt;br /&gt;
import javax.microedition.lcdui.Graphics;&lt;br /&gt;
import javax.microedition.midlet.MIDlet;&lt;br /&gt;
public class GameActionMIDlet extends MIDlet implements CommandListener {&lt;br /&gt;
  private Command exitCommand;&lt;br /&gt;
  Display display;&lt;br /&gt;
  Displayable d;&lt;br /&gt;
  public void startApp() {&lt;br /&gt;
    Display display = Display.getDisplay(this);&lt;br /&gt;
    d = new GameActionCanvas();&lt;br /&gt;
    exitCommand = new Command(&amp;quot;Exit&amp;quot;, Command.EXIT, 1);&lt;br /&gt;
    d.addCommand(exitCommand);&lt;br /&gt;
    d.setCommandListener(this);&lt;br /&gt;
    display.setCurrent(d);&lt;br /&gt;
  }&lt;br /&gt;
  public void pauseApp() {&lt;br /&gt;
  }&lt;br /&gt;
  public void destroyApp(boolean unconditional) {&lt;br /&gt;
  }&lt;br /&gt;
  public void commandAction(Command c, Displayable s) {&lt;br /&gt;
    notifyDestroyed();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class GameActionCanvas extends Canvas {&lt;br /&gt;
  int width = 0;&lt;br /&gt;
  int height = 0;&lt;br /&gt;
  String aMessage = &amp;quot;message&amp;quot;;&lt;br /&gt;
  public void paint(Graphics g) {&lt;br /&gt;
    width = getWidth();&lt;br /&gt;
    height = getHeight();&lt;br /&gt;
    g.setGrayScale(255);&lt;br /&gt;
    g.fillRect(0, 0, width - 1, height - 1);&lt;br /&gt;
    g.setGrayScale(0);&lt;br /&gt;
    g.drawRect(0, 0, width - 1, height - 1);&lt;br /&gt;
    g.drawString(aMessage, 10, 10, Graphics.TOP | Graphics.LEFT);&lt;br /&gt;
  }&lt;br /&gt;
  protected void keyPressed(int keyCode) {&lt;br /&gt;
    int gameAction = getGameAction(keyCode);&lt;br /&gt;
    switch (gameAction) {&lt;br /&gt;
    case UP:&lt;br /&gt;
      aMessage = &amp;quot;Up&amp;quot;;&lt;br /&gt;
      break;&lt;br /&gt;
    case DOWN:&lt;br /&gt;
      aMessage = &amp;quot;Down&amp;quot;;&lt;br /&gt;
      break;&lt;br /&gt;
    case LEFT:&lt;br /&gt;
      aMessage = &amp;quot;Left&amp;quot;;&lt;br /&gt;
      break;&lt;br /&gt;
    case RIGHT:&lt;br /&gt;
      aMessage = &amp;quot;Right&amp;quot;;&lt;br /&gt;
      break;&lt;br /&gt;
    case FIRE:&lt;br /&gt;
      aMessage = &amp;quot;Send&amp;quot;;&lt;br /&gt;
      break;&lt;br /&gt;
    case GAME_A:&lt;br /&gt;
      aMessage = &amp;quot;GAME_A&amp;quot;;&lt;br /&gt;
      break;&lt;br /&gt;
    case GAME_B:&lt;br /&gt;
      aMessage = &amp;quot;GAME_B&amp;quot;;&lt;br /&gt;
      break;&lt;br /&gt;
    case GAME_C:&lt;br /&gt;
      aMessage = &amp;quot;GAME_C&amp;quot;;&lt;br /&gt;
      break;&lt;br /&gt;
    case GAME_D:&lt;br /&gt;
      aMessage = &amp;quot;GAME_D&amp;quot;;&lt;br /&gt;
      break;&lt;br /&gt;
    default:&lt;br /&gt;
      aMessage = &amp;quot;&amp;quot;;&lt;br /&gt;
      break;&lt;br /&gt;
    }&lt;br /&gt;
    repaint();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Canvas.GAME_D ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
import javax.microedition.lcdui.Canvas;&lt;br /&gt;
import javax.microedition.lcdui.rumand;&lt;br /&gt;
import javax.microedition.lcdui.rumandListener;&lt;br /&gt;
import javax.microedition.lcdui.Display;&lt;br /&gt;
import javax.microedition.lcdui.Displayable;&lt;br /&gt;
import javax.microedition.lcdui.Graphics;&lt;br /&gt;
import javax.microedition.midlet.MIDlet;&lt;br /&gt;
public class GameActionMIDlet extends MIDlet implements CommandListener {&lt;br /&gt;
  private Command exitCommand;&lt;br /&gt;
  Display display;&lt;br /&gt;
  Displayable d;&lt;br /&gt;
  public void startApp() {&lt;br /&gt;
    Display display = Display.getDisplay(this);&lt;br /&gt;
    d = new GameActionCanvas();&lt;br /&gt;
    exitCommand = new Command(&amp;quot;Exit&amp;quot;, Command.EXIT, 1);&lt;br /&gt;
    d.addCommand(exitCommand);&lt;br /&gt;
    d.setCommandListener(this);&lt;br /&gt;
    display.setCurrent(d);&lt;br /&gt;
  }&lt;br /&gt;
  public void pauseApp() {&lt;br /&gt;
  }&lt;br /&gt;
  public void destroyApp(boolean unconditional) {&lt;br /&gt;
  }&lt;br /&gt;
  public void commandAction(Command c, Displayable s) {&lt;br /&gt;
    notifyDestroyed();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class GameActionCanvas extends Canvas {&lt;br /&gt;
  int width = 0;&lt;br /&gt;
  int height = 0;&lt;br /&gt;
  String aMessage = &amp;quot;message&amp;quot;;&lt;br /&gt;
  public void paint(Graphics g) {&lt;br /&gt;
    width = getWidth();&lt;br /&gt;
    height = getHeight();&lt;br /&gt;
    g.setGrayScale(255);&lt;br /&gt;
    g.fillRect(0, 0, width - 1, height - 1);&lt;br /&gt;
    g.setGrayScale(0);&lt;br /&gt;
    g.drawRect(0, 0, width - 1, height - 1);&lt;br /&gt;
    g.drawString(aMessage, 10, 10, Graphics.TOP | Graphics.LEFT);&lt;br /&gt;
  }&lt;br /&gt;
  protected void keyPressed(int keyCode) {&lt;br /&gt;
    int gameAction = getGameAction(keyCode);&lt;br /&gt;
    switch (gameAction) {&lt;br /&gt;
    case UP:&lt;br /&gt;
      aMessage = &amp;quot;Up&amp;quot;;&lt;br /&gt;
      break;&lt;br /&gt;
    case DOWN:&lt;br /&gt;
      aMessage = &amp;quot;Down&amp;quot;;&lt;br /&gt;
      break;&lt;br /&gt;
    case LEFT:&lt;br /&gt;
      aMessage = &amp;quot;Left&amp;quot;;&lt;br /&gt;
      break;&lt;br /&gt;
    case RIGHT:&lt;br /&gt;
      aMessage = &amp;quot;Right&amp;quot;;&lt;br /&gt;
      break;&lt;br /&gt;
    case FIRE:&lt;br /&gt;
      aMessage = &amp;quot;Send&amp;quot;;&lt;br /&gt;
      break;&lt;br /&gt;
    case GAME_A:&lt;br /&gt;
      aMessage = &amp;quot;GAME_A&amp;quot;;&lt;br /&gt;
      break;&lt;br /&gt;
    case GAME_B:&lt;br /&gt;
      aMessage = &amp;quot;GAME_B&amp;quot;;&lt;br /&gt;
      break;&lt;br /&gt;
    case GAME_C:&lt;br /&gt;
      aMessage = &amp;quot;GAME_C&amp;quot;;&lt;br /&gt;
      break;&lt;br /&gt;
    case GAME_D:&lt;br /&gt;
      aMessage = &amp;quot;GAME_D&amp;quot;;&lt;br /&gt;
      break;&lt;br /&gt;
    default:&lt;br /&gt;
      aMessage = &amp;quot;&amp;quot;;&lt;br /&gt;
      break;&lt;br /&gt;
    }&lt;br /&gt;
    repaint();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Canvas: getKeyName(int keyCode) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
import javax.microedition.lcdui.Canvas;&lt;br /&gt;
import javax.microedition.lcdui.rumand;&lt;br /&gt;
import javax.microedition.lcdui.rumandListener;&lt;br /&gt;
import javax.microedition.lcdui.Display;&lt;br /&gt;
import javax.microedition.lcdui.Displayable;&lt;br /&gt;
import javax.microedition.lcdui.Graphics;&lt;br /&gt;
import javax.microedition.midlet.MIDlet;&lt;br /&gt;
public class KeyEventsMIDlet extends MIDlet implements CommandListener {&lt;br /&gt;
  private Command exitCommand;&lt;br /&gt;
  Display display;&lt;br /&gt;
  Displayable d;&lt;br /&gt;
  public void startApp() {&lt;br /&gt;
    Display display = Display.getDisplay(this);&lt;br /&gt;
    d = new KeyEventsCanvas();&lt;br /&gt;
    exitCommand = new Command(&amp;quot;Exit&amp;quot;, Command.EXIT, 1);&lt;br /&gt;
    d.addCommand(exitCommand);&lt;br /&gt;
    d.setCommandListener(this);&lt;br /&gt;
    display.setCurrent(d);&lt;br /&gt;
  }&lt;br /&gt;
  public void pauseApp() {&lt;br /&gt;
  }&lt;br /&gt;
  public void destroyApp(boolean unconditional) {&lt;br /&gt;
  }&lt;br /&gt;
  public void commandAction(Command c, Displayable s) {&lt;br /&gt;
    notifyDestroyed();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class KeyEventsCanvas extends Canvas {&lt;br /&gt;
  int width = 0;&lt;br /&gt;
  int height = 0;&lt;br /&gt;
  String aMessage = &amp;quot;message&amp;quot;;&lt;br /&gt;
  public void paint(Graphics g) {&lt;br /&gt;
    width = getWidth();&lt;br /&gt;
    height = getHeight();&lt;br /&gt;
    g.setGrayScale(255);&lt;br /&gt;
    g.fillRect(0, 0, width - 1, height - 1);&lt;br /&gt;
    g.setGrayScale(0);&lt;br /&gt;
    g.drawRect(0, 0, width - 1, height - 1);&lt;br /&gt;
    g.drawString(aMessage, 10, 10, Graphics.TOP | Graphics.LEFT);&lt;br /&gt;
  }&lt;br /&gt;
  protected void keyPressed(int keyCode) {&lt;br /&gt;
    aMessage = getKeyName(keyCode);&lt;br /&gt;
    if (aMessage.equals(&amp;quot;2&amp;quot;))&lt;br /&gt;
      aMessage = &amp;quot;2&amp;quot;;&lt;br /&gt;
    repaint();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Canvas.getWidth() ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
import javax.microedition.lcdui.Canvas;&lt;br /&gt;
import javax.microedition.lcdui.rumand;&lt;br /&gt;
import javax.microedition.lcdui.rumandListener;&lt;br /&gt;
import javax.microedition.lcdui.Display;&lt;br /&gt;
import javax.microedition.lcdui.Displayable;&lt;br /&gt;
import javax.microedition.lcdui.Form;&lt;br /&gt;
import javax.microedition.lcdui.Graphics;&lt;br /&gt;
import javax.microedition.lcdui.StringItem;&lt;br /&gt;
import javax.microedition.midlet.MIDlet;&lt;br /&gt;
public class AttributesMIDlet extends MIDlet &lt;br /&gt;
                        implements CommandListener {&lt;br /&gt;
    private Display display;&lt;br /&gt;
        &lt;br /&gt;
    protected boolean started;&lt;br /&gt;
    private Command exitCommand;&lt;br /&gt;
    &lt;br /&gt;
    protected void startApp() {&lt;br /&gt;
        if (!started) {&lt;br /&gt;
            display = Display.getDisplay(this);&lt;br /&gt;
            Canvas canvas = new DummyCanvas();&lt;br /&gt;
            Form form = new Form(&amp;quot;Attributes&amp;quot;);&lt;br /&gt;
            exitCommand = new Command(&amp;quot;Exit&amp;quot;, Command.EXIT, 0);&lt;br /&gt;
            form.addCommand(exitCommand);&lt;br /&gt;
            &lt;br /&gt;
            boolean isColor = display.isColor();&lt;br /&gt;
            form.append(new StringItem(isColor ? &amp;quot;Colors: &amp;quot; : &amp;quot;Grays: &amp;quot;,&lt;br /&gt;
                                String.valueOf(display.numColors())));&lt;br /&gt;
            form.append(new StringItem(&amp;quot;Width: &amp;quot;, String.valueOf(canvas.getWidth())));&lt;br /&gt;
            form.append(new StringItem(&amp;quot;Height: &amp;quot;, String.valueOf(canvas.getHeight())));&lt;br /&gt;
            form.append(new StringItem(&amp;quot;Pointer? &amp;quot;, String.valueOf(canvas.hasPointerEvents())));&lt;br /&gt;
            form.append(new StringItem(&amp;quot;Motion? &amp;quot;,String.valueOf(canvas.hasPointerMotionEvents())));&lt;br /&gt;
            form.append(new StringItem(&amp;quot;Repeat? &amp;quot;,String.valueOf(canvas.hasRepeatEvents())));&lt;br /&gt;
            form.append(new StringItem(&amp;quot;Buffered? &amp;quot;, String.valueOf(canvas.isDoubleBuffered())));&lt;br /&gt;
            &lt;br /&gt;
            form.setCommandListener(this);&lt;br /&gt;
            display.setCurrent(form);&lt;br /&gt;
            &lt;br /&gt;
            started = true;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    protected void pauseApp() {&lt;br /&gt;
    }&lt;br /&gt;
    protected void destroyApp(boolean unconditional) {&lt;br /&gt;
    }&lt;br /&gt;
    public void commandAction(Command c, Displayable d) {&lt;br /&gt;
        if (c == exitCommand) {&lt;br /&gt;
            notifyDestroyed();&lt;br /&gt;
        }&lt;br /&gt;
    } &lt;br /&gt;
    static class DummyCanvas extends Canvas {&lt;br /&gt;
        protected void paint(Graphics g) {&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Canvas.hasPointerEvents() ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
import javax.microedition.lcdui.Canvas;&lt;br /&gt;
import javax.microedition.lcdui.rumand;&lt;br /&gt;
import javax.microedition.lcdui.rumandListener;&lt;br /&gt;
import javax.microedition.lcdui.Display;&lt;br /&gt;
import javax.microedition.lcdui.Displayable;&lt;br /&gt;
import javax.microedition.lcdui.Form;&lt;br /&gt;
import javax.microedition.lcdui.Graphics;&lt;br /&gt;
import javax.microedition.lcdui.StringItem;&lt;br /&gt;
import javax.microedition.midlet.MIDlet;&lt;br /&gt;
public class AttributesMIDlet extends MIDlet &lt;br /&gt;
                        implements CommandListener {&lt;br /&gt;
    private Display display;&lt;br /&gt;
        &lt;br /&gt;
    protected boolean started;&lt;br /&gt;
    private Command exitCommand;&lt;br /&gt;
    &lt;br /&gt;
    protected void startApp() {&lt;br /&gt;
        if (!started) {&lt;br /&gt;
            display = Display.getDisplay(this);&lt;br /&gt;
            Canvas canvas = new DummyCanvas();&lt;br /&gt;
            Form form = new Form(&amp;quot;Attributes&amp;quot;);&lt;br /&gt;
            exitCommand = new Command(&amp;quot;Exit&amp;quot;, Command.EXIT, 0);&lt;br /&gt;
            form.addCommand(exitCommand);&lt;br /&gt;
            &lt;br /&gt;
            boolean isColor = display.isColor();&lt;br /&gt;
            form.append(new StringItem(isColor ? &amp;quot;Colors: &amp;quot; : &amp;quot;Grays: &amp;quot;,&lt;br /&gt;
                                String.valueOf(display.numColors())));&lt;br /&gt;
            form.append(new StringItem(&amp;quot;Width: &amp;quot;, String.valueOf(canvas.getWidth())));&lt;br /&gt;
            form.append(new StringItem(&amp;quot;Height: &amp;quot;, String.valueOf(canvas.getHeight())));&lt;br /&gt;
            form.append(new StringItem(&amp;quot;Pointer? &amp;quot;, String.valueOf(canvas.hasPointerEvents())));&lt;br /&gt;
            form.append(new StringItem(&amp;quot;Motion? &amp;quot;,String.valueOf(canvas.hasPointerMotionEvents())));&lt;br /&gt;
            form.append(new StringItem(&amp;quot;Repeat? &amp;quot;,String.valueOf(canvas.hasRepeatEvents())));&lt;br /&gt;
            form.append(new StringItem(&amp;quot;Buffered? &amp;quot;, String.valueOf(canvas.isDoubleBuffered())));&lt;br /&gt;
            &lt;br /&gt;
            form.setCommandListener(this);&lt;br /&gt;
            display.setCurrent(form);&lt;br /&gt;
            &lt;br /&gt;
            started = true;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    protected void pauseApp() {&lt;br /&gt;
    }&lt;br /&gt;
    protected void destroyApp(boolean unconditional) {&lt;br /&gt;
    }&lt;br /&gt;
    public void commandAction(Command c, Displayable d) {&lt;br /&gt;
        if (c == exitCommand) {&lt;br /&gt;
            notifyDestroyed();&lt;br /&gt;
        }&lt;br /&gt;
    } &lt;br /&gt;
    static class DummyCanvas extends Canvas {&lt;br /&gt;
        protected void paint(Graphics g) {&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Canvas.hasRepeatEvents() ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
import javax.microedition.lcdui.Canvas;&lt;br /&gt;
import javax.microedition.lcdui.rumand;&lt;br /&gt;
import javax.microedition.lcdui.rumandListener;&lt;br /&gt;
import javax.microedition.lcdui.Display;&lt;br /&gt;
import javax.microedition.lcdui.Displayable;&lt;br /&gt;
import javax.microedition.lcdui.Form;&lt;br /&gt;
import javax.microedition.lcdui.Graphics;&lt;br /&gt;
import javax.microedition.lcdui.StringItem;&lt;br /&gt;
import javax.microedition.midlet.MIDlet;&lt;br /&gt;
public class AttributesMIDlet extends MIDlet &lt;br /&gt;
                        implements CommandListener {&lt;br /&gt;
    private Display display;&lt;br /&gt;
        &lt;br /&gt;
    protected boolean started;&lt;br /&gt;
    private Command exitCommand;&lt;br /&gt;
    &lt;br /&gt;
    protected void startApp() {&lt;br /&gt;
        if (!started) {&lt;br /&gt;
            display = Display.getDisplay(this);&lt;br /&gt;
            Canvas canvas = new DummyCanvas();&lt;br /&gt;
            Form form = new Form(&amp;quot;Attributes&amp;quot;);&lt;br /&gt;
            exitCommand = new Command(&amp;quot;Exit&amp;quot;, Command.EXIT, 0);&lt;br /&gt;
            form.addCommand(exitCommand);&lt;br /&gt;
            &lt;br /&gt;
            boolean isColor = display.isColor();&lt;br /&gt;
            form.append(new StringItem(isColor ? &amp;quot;Colors: &amp;quot; : &amp;quot;Grays: &amp;quot;,&lt;br /&gt;
                                String.valueOf(display.numColors())));&lt;br /&gt;
            form.append(new StringItem(&amp;quot;Width: &amp;quot;, String.valueOf(canvas.getWidth())));&lt;br /&gt;
            form.append(new StringItem(&amp;quot;Height: &amp;quot;, String.valueOf(canvas.getHeight())));&lt;br /&gt;
            form.append(new StringItem(&amp;quot;Pointer? &amp;quot;, String.valueOf(canvas.hasPointerEvents())));&lt;br /&gt;
            form.append(new StringItem(&amp;quot;Motion? &amp;quot;,String.valueOf(canvas.hasPointerMotionEvents())));&lt;br /&gt;
            form.append(new StringItem(&amp;quot;Repeat? &amp;quot;,String.valueOf(canvas.hasRepeatEvents())));&lt;br /&gt;
            form.append(new StringItem(&amp;quot;Buffered? &amp;quot;, String.valueOf(canvas.isDoubleBuffered())));&lt;br /&gt;
            &lt;br /&gt;
            form.setCommandListener(this);&lt;br /&gt;
            display.setCurrent(form);&lt;br /&gt;
            &lt;br /&gt;
            started = true;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    protected void pauseApp() {&lt;br /&gt;
    }&lt;br /&gt;
    protected void destroyApp(boolean unconditional) {&lt;br /&gt;
    }&lt;br /&gt;
    public void commandAction(Command c, Displayable d) {&lt;br /&gt;
        if (c == exitCommand) {&lt;br /&gt;
            notifyDestroyed();&lt;br /&gt;
        }&lt;br /&gt;
    } &lt;br /&gt;
    static class DummyCanvas extends Canvas {&lt;br /&gt;
        protected void paint(Graphics g) {&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Canvas.LEFT ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import javax.microedition.lcdui.Canvas;&lt;br /&gt;
import javax.microedition.lcdui.rumand;&lt;br /&gt;
import javax.microedition.lcdui.rumandListener;&lt;br /&gt;
import javax.microedition.lcdui.Display;&lt;br /&gt;
import javax.microedition.lcdui.Displayable;&lt;br /&gt;
import javax.microedition.lcdui.Graphics;&lt;br /&gt;
import javax.microedition.lcdui.Image;&lt;br /&gt;
import javax.microedition.midlet.MIDlet;&lt;br /&gt;
public class Navigate2MIDlet extends MIDlet implements CommandListener {&lt;br /&gt;
  private Command exitCommand;&lt;br /&gt;
  Displayable nd;&lt;br /&gt;
  Image image = null;&lt;br /&gt;
  public Navigate2MIDlet() {&lt;br /&gt;
    try {&lt;br /&gt;
      image = Image.createImage(&amp;quot;/J.png&amp;quot;);&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
    }&lt;br /&gt;
    Display display = Display.getDisplay(this);&lt;br /&gt;
    nd = new Navigate2Canvas(image);&lt;br /&gt;
    exitCommand = new Command(&amp;quot;exit&amp;quot;, Command.EXIT, 1);&lt;br /&gt;
    nd.addCommand(exitCommand);&lt;br /&gt;
    nd.setCommandListener(this);&lt;br /&gt;
    display.setCurrent(nd);&lt;br /&gt;
  }&lt;br /&gt;
  public void startApp() {&lt;br /&gt;
  }&lt;br /&gt;
  public void pauseApp() {&lt;br /&gt;
  }&lt;br /&gt;
  public void destroyApp(boolean unconditional) {&lt;br /&gt;
  }&lt;br /&gt;
  public void commandAction(Command c, Displayable s) {&lt;br /&gt;
    notifyDestroyed();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class Navigate2Canvas extends Canvas {&lt;br /&gt;
  private Image image;&lt;br /&gt;
  private int newX = 0;&lt;br /&gt;
  private int newY = 0;&lt;br /&gt;
  private int stepX = 0;&lt;br /&gt;
  private int stepY = 0;&lt;br /&gt;
  public Navigate2Canvas(Image image) {&lt;br /&gt;
    this.image = image;&lt;br /&gt;
    newX = 0;&lt;br /&gt;
    newY = 0;&lt;br /&gt;
    stepX = getWidth() / 4;&lt;br /&gt;
    stepY = getHeight() / 4;&lt;br /&gt;
  }&lt;br /&gt;
  public void steppingXY(int x, int y) {&lt;br /&gt;
    newX += x;&lt;br /&gt;
    newY += y;&lt;br /&gt;
  }&lt;br /&gt;
  public void paint(Graphics g) {&lt;br /&gt;
    int width = this.getWidth();&lt;br /&gt;
    int height = this.getHeight();&lt;br /&gt;
    g.setGrayScale(255);&lt;br /&gt;
    g.fillRect(0, 0, width - 1, height - 1);&lt;br /&gt;
    g.setGrayScale(0);&lt;br /&gt;
    g.drawRect(0, 0, width - 1, height - 1);&lt;br /&gt;
    g.translate(newX, newY);&lt;br /&gt;
    g.drawImage(image, 0, 0, g.TOP | g.LEFT);&lt;br /&gt;
  }&lt;br /&gt;
  protected void keyPressed(int keyCode) {&lt;br /&gt;
    int gameaction = getGameAction(keyCode);&lt;br /&gt;
    switch (gameaction) {&lt;br /&gt;
    case UP:&lt;br /&gt;
      steppingXY(0, stepY);&lt;br /&gt;
      break;&lt;br /&gt;
    case DOWN:&lt;br /&gt;
      steppingXY(0, -stepY);&lt;br /&gt;
      break;&lt;br /&gt;
    case LEFT:&lt;br /&gt;
      steppingXY(stepX, 0);&lt;br /&gt;
      break;&lt;br /&gt;
    case RIGHT:&lt;br /&gt;
      steppingXY(-stepX, 0);&lt;br /&gt;
      break;&lt;br /&gt;
    }&lt;br /&gt;
    repaint();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Canvas.RIGHT ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import javax.microedition.lcdui.Canvas;&lt;br /&gt;
import javax.microedition.lcdui.rumand;&lt;br /&gt;
import javax.microedition.lcdui.rumandListener;&lt;br /&gt;
import javax.microedition.lcdui.Display;&lt;br /&gt;
import javax.microedition.lcdui.Displayable;&lt;br /&gt;
import javax.microedition.lcdui.Graphics;&lt;br /&gt;
import javax.microedition.lcdui.Image;&lt;br /&gt;
import javax.microedition.midlet.MIDlet;&lt;br /&gt;
public class Navigate2MIDlet extends MIDlet implements CommandListener {&lt;br /&gt;
  private Command exitCommand;&lt;br /&gt;
  Displayable nd;&lt;br /&gt;
  Image image = null;&lt;br /&gt;
  public Navigate2MIDlet() {&lt;br /&gt;
    try {&lt;br /&gt;
      image = Image.createImage(&amp;quot;/J.png&amp;quot;);&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
    }&lt;br /&gt;
    Display display = Display.getDisplay(this);&lt;br /&gt;
    nd = new Navigate2Canvas(image);&lt;br /&gt;
    exitCommand = new Command(&amp;quot;exit&amp;quot;, Command.EXIT, 1);&lt;br /&gt;
    nd.addCommand(exitCommand);&lt;br /&gt;
    nd.setCommandListener(this);&lt;br /&gt;
    display.setCurrent(nd);&lt;br /&gt;
  }&lt;br /&gt;
  public void startApp() {&lt;br /&gt;
  }&lt;br /&gt;
  public void pauseApp() {&lt;br /&gt;
  }&lt;br /&gt;
  public void destroyApp(boolean unconditional) {&lt;br /&gt;
  }&lt;br /&gt;
  public void commandAction(Command c, Displayable s) {&lt;br /&gt;
    notifyDestroyed();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class Navigate2Canvas extends Canvas {&lt;br /&gt;
  private Image image;&lt;br /&gt;
  private int newX = 0;&lt;br /&gt;
  private int newY = 0;&lt;br /&gt;
  private int stepX = 0;&lt;br /&gt;
  private int stepY = 0;&lt;br /&gt;
  public Navigate2Canvas(Image image) {&lt;br /&gt;
    this.image = image;&lt;br /&gt;
    newX = 0;&lt;br /&gt;
    newY = 0;&lt;br /&gt;
    stepX = getWidth() / 4;&lt;br /&gt;
    stepY = getHeight() / 4;&lt;br /&gt;
  }&lt;br /&gt;
  public void steppingXY(int x, int y) {&lt;br /&gt;
    newX += x;&lt;br /&gt;
    newY += y;&lt;br /&gt;
  }&lt;br /&gt;
  public void paint(Graphics g) {&lt;br /&gt;
    int width = this.getWidth();&lt;br /&gt;
    int height = this.getHeight();&lt;br /&gt;
    g.setGrayScale(255);&lt;br /&gt;
    g.fillRect(0, 0, width - 1, height - 1);&lt;br /&gt;
    g.setGrayScale(0);&lt;br /&gt;
    g.drawRect(0, 0, width - 1, height - 1);&lt;br /&gt;
    g.translate(newX, newY);&lt;br /&gt;
    g.drawImage(image, 0, 0, g.TOP | g.LEFT);&lt;br /&gt;
  }&lt;br /&gt;
  protected void keyPressed(int keyCode) {&lt;br /&gt;
    int gameaction = getGameAction(keyCode);&lt;br /&gt;
    switch (gameaction) {&lt;br /&gt;
    case UP:&lt;br /&gt;
      steppingXY(0, stepY);&lt;br /&gt;
      break;&lt;br /&gt;
    case DOWN:&lt;br /&gt;
      steppingXY(0, -stepY);&lt;br /&gt;
      break;&lt;br /&gt;
    case LEFT:&lt;br /&gt;
      steppingXY(stepX, 0);&lt;br /&gt;
      break;&lt;br /&gt;
    case RIGHT:&lt;br /&gt;
      steppingXY(-stepX, 0);&lt;br /&gt;
      break;&lt;br /&gt;
    }&lt;br /&gt;
    repaint();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Canvas.setCommandListener(CommandListener l) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
/* License&lt;br /&gt;
 * &lt;br /&gt;
 * Copyright 1994-2004 Sun Microsystems, Inc. All Rights Reserved.&lt;br /&gt;
 * &lt;br /&gt;
 * Redistribution and use in source and binary forms, with or without&lt;br /&gt;
 * modification, are permitted provided that the following conditions&lt;br /&gt;
 * are met:&lt;br /&gt;
 *  &lt;br /&gt;
 *  * Redistribution of source code must retain the above copyright notice,&lt;br /&gt;
 *      this list of conditions and the following disclaimer.&lt;br /&gt;
 * &lt;br /&gt;
 *  * Redistribution in binary form must reproduce the above copyright notice,&lt;br /&gt;
 *      this list of conditions and the following disclaimer in the&lt;br /&gt;
 *      documentation and/or other materials provided with the distribution.&lt;br /&gt;
 * &lt;br /&gt;
 * Neither the name of Sun Microsystems, Inc. or the names of contributors&lt;br /&gt;
 * may be used to endorse or promote products derived from this software&lt;br /&gt;
 * without specific prior written permission.&lt;br /&gt;
 *  &lt;br /&gt;
 * This software is provided &amp;quot;AS IS,&amp;quot; without a warranty of any kind. ALL&lt;br /&gt;
 * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING&lt;br /&gt;
 * ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE&lt;br /&gt;
 * OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MICROSYSTEMS, INC. (&amp;quot;SUN&amp;quot;)&lt;br /&gt;
 * AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE&lt;br /&gt;
 * AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS&lt;br /&gt;
 * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST&lt;br /&gt;
 * REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL,&lt;br /&gt;
 * INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY&lt;br /&gt;
 * OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE,&lt;br /&gt;
 * EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.&lt;br /&gt;
 *  &lt;br /&gt;
 * You acknowledge that this software is not designed, licensed or intended&lt;br /&gt;
 * for use in the design, construction, operation or maintenance of any&lt;br /&gt;
 * nuclear facility. &lt;br /&gt;
 */&lt;br /&gt;
import javax.microedition.lcdui.Canvas;&lt;br /&gt;
import javax.microedition.lcdui.rumand;&lt;br /&gt;
import javax.microedition.lcdui.rumandListener;&lt;br /&gt;
import javax.microedition.lcdui.Display;&lt;br /&gt;
import javax.microedition.lcdui.Displayable;&lt;br /&gt;
import javax.microedition.lcdui.Graphics;&lt;br /&gt;
import javax.microedition.midlet.MIDlet;&lt;br /&gt;
public class EventEx3 extends MIDlet {&lt;br /&gt;
  Display display;&lt;br /&gt;
  Command exit;&lt;br /&gt;
  public EventEx3() {&lt;br /&gt;
    display = Display.getDisplay(this);&lt;br /&gt;
  }&lt;br /&gt;
  public void destroyApp(boolean unconditional) {&lt;br /&gt;
  }&lt;br /&gt;
  public void pauseApp() {&lt;br /&gt;
    System.out.println(&amp;quot;App paused.&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  public void startApp() {&lt;br /&gt;
    display = Display.getDisplay(this);&lt;br /&gt;
    Canvas canvas = new Canvas() { // anonymous class&lt;br /&gt;
      public void paint(Graphics g) {&lt;br /&gt;
      }&lt;br /&gt;
      protected void keyPressed(int keyCode) {&lt;br /&gt;
        if (keyCode &amp;gt; 0) {&lt;br /&gt;
          System.out.println(&amp;quot;keyPressed &amp;quot; + ((char) keyCode));&lt;br /&gt;
        } else {&lt;br /&gt;
          System.out.println(&amp;quot;keyPressed action &amp;quot; + getGameAction(keyCode));&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      protected void keyReleased(int keyCode) {&lt;br /&gt;
        if (keyCode &amp;gt; 0) {&lt;br /&gt;
          System.out.println(&amp;quot;keyReleased &amp;quot; + ((char) keyCode));&lt;br /&gt;
        } else {&lt;br /&gt;
          System.out.println(&amp;quot;keyReleased action &amp;quot; + getGameAction(keyCode));&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }; // end of anonymous class&lt;br /&gt;
    exit = new Command(&amp;quot;Exit&amp;quot;, Command.STOP, 1);&lt;br /&gt;
    canvas.addCommand(exit);&lt;br /&gt;
    canvas.setCommandListener(new CommandListener() {&lt;br /&gt;
      public void commandAction(Command c, Displayable d) {&lt;br /&gt;
        if (c == exit) {&lt;br /&gt;
          notifyDestroyed();&lt;br /&gt;
        } else {&lt;br /&gt;
          System.out.println(&amp;quot;Saw the command: &amp;quot; + c);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
    display.setCurrent(canvas);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Canvas.UP ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import javax.microedition.lcdui.Canvas;&lt;br /&gt;
import javax.microedition.lcdui.rumand;&lt;br /&gt;
import javax.microedition.lcdui.rumandListener;&lt;br /&gt;
import javax.microedition.lcdui.Display;&lt;br /&gt;
import javax.microedition.lcdui.Displayable;&lt;br /&gt;
import javax.microedition.lcdui.Graphics;&lt;br /&gt;
import javax.microedition.lcdui.Image;&lt;br /&gt;
import javax.microedition.midlet.MIDlet;&lt;br /&gt;
public class Navigate2MIDlet extends MIDlet implements CommandListener {&lt;br /&gt;
  private Command exitCommand;&lt;br /&gt;
  Displayable nd;&lt;br /&gt;
  Image image = null;&lt;br /&gt;
  public Navigate2MIDlet() {&lt;br /&gt;
    try {&lt;br /&gt;
      image = Image.createImage(&amp;quot;/J.png&amp;quot;);&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
    }&lt;br /&gt;
    Display display = Display.getDisplay(this);&lt;br /&gt;
    nd = new Navigate2Canvas(image);&lt;br /&gt;
    exitCommand = new Command(&amp;quot;exit&amp;quot;, Command.EXIT, 1);&lt;br /&gt;
    nd.addCommand(exitCommand);&lt;br /&gt;
    nd.setCommandListener(this);&lt;br /&gt;
    display.setCurrent(nd);&lt;br /&gt;
  }&lt;br /&gt;
  public void startApp() {&lt;br /&gt;
  }&lt;br /&gt;
  public void pauseApp() {&lt;br /&gt;
  }&lt;br /&gt;
  public void destroyApp(boolean unconditional) {&lt;br /&gt;
  }&lt;br /&gt;
  public void commandAction(Command c, Displayable s) {&lt;br /&gt;
    notifyDestroyed();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class Navigate2Canvas extends Canvas {&lt;br /&gt;
  private Image image;&lt;br /&gt;
  private int newX = 0;&lt;br /&gt;
  private int newY = 0;&lt;br /&gt;
  private int stepX = 0;&lt;br /&gt;
  private int stepY = 0;&lt;br /&gt;
  public Navigate2Canvas(Image image) {&lt;br /&gt;
    this.image = image;&lt;br /&gt;
    newX = 0;&lt;br /&gt;
    newY = 0;&lt;br /&gt;
    stepX = getWidth() / 4;&lt;br /&gt;
    stepY = getHeight() / 4;&lt;br /&gt;
  }&lt;br /&gt;
  public void steppingXY(int x, int y) {&lt;br /&gt;
    newX += x;&lt;br /&gt;
    newY += y;&lt;br /&gt;
  }&lt;br /&gt;
  public void paint(Graphics g) {&lt;br /&gt;
    int width = this.getWidth();&lt;br /&gt;
    int height = this.getHeight();&lt;br /&gt;
    g.setGrayScale(255);&lt;br /&gt;
    g.fillRect(0, 0, width - 1, height - 1);&lt;br /&gt;
    g.setGrayScale(0);&lt;br /&gt;
    g.drawRect(0, 0, width - 1, height - 1);&lt;br /&gt;
    g.translate(newX, newY);&lt;br /&gt;
    g.drawImage(image, 0, 0, g.TOP | g.LEFT);&lt;br /&gt;
  }&lt;br /&gt;
  protected void keyPressed(int keyCode) {&lt;br /&gt;
    int gameaction = getGameAction(keyCode);&lt;br /&gt;
    switch (gameaction) {&lt;br /&gt;
    case UP:&lt;br /&gt;
      steppingXY(0, stepY);&lt;br /&gt;
      break;&lt;br /&gt;
    case DOWN:&lt;br /&gt;
      steppingXY(0, -stepY);&lt;br /&gt;
      break;&lt;br /&gt;
    case LEFT:&lt;br /&gt;
      steppingXY(stepX, 0);&lt;br /&gt;
      break;&lt;br /&gt;
    case RIGHT:&lt;br /&gt;
      steppingXY(-stepX, 0);&lt;br /&gt;
      break;&lt;br /&gt;
    }&lt;br /&gt;
    repaint();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== extends Canvas ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import javax.microedition.lcdui.Canvas;&lt;br /&gt;
import javax.microedition.lcdui.rumand;&lt;br /&gt;
import javax.microedition.lcdui.rumandListener;&lt;br /&gt;
import javax.microedition.lcdui.Display;&lt;br /&gt;
import javax.microedition.lcdui.Displayable;&lt;br /&gt;
import javax.microedition.lcdui.Graphics;&lt;br /&gt;
import javax.microedition.midlet.MIDlet;&lt;br /&gt;
public class TextAnchorMIDlet extends MIDlet implements CommandListener {&lt;br /&gt;
  private Command exitCommand;&lt;br /&gt;
  Display display;&lt;br /&gt;
  public void startApp() {&lt;br /&gt;
    Display display = Display.getDisplay(this);&lt;br /&gt;
    Displayable d = new TextAnchorCanvas();&lt;br /&gt;
    exitCommand = new Command(&amp;quot;exit&amp;quot;, Command.EXIT, 1);&lt;br /&gt;
    d.addCommand(exitCommand);&lt;br /&gt;
    d.setCommandListener(this);&lt;br /&gt;
    display.setCurrent(d);&lt;br /&gt;
  }&lt;br /&gt;
  public void pauseApp() {&lt;br /&gt;
  }&lt;br /&gt;
  public void destroyApp(boolean unconditional) {&lt;br /&gt;
  }&lt;br /&gt;
  public void commandAction(Command c, Displayable s) {&lt;br /&gt;
    notifyDestroyed();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class TextAnchorCanvas extends Canvas {&lt;br /&gt;
  int width = 0;&lt;br /&gt;
  int height = 0;&lt;br /&gt;
  public void paint(Graphics g) {&lt;br /&gt;
    width = getWidth();&lt;br /&gt;
    height = getHeight();&lt;br /&gt;
    g.setGrayScale(255);&lt;br /&gt;
    g.fillRect(0, 0, width - 1, height - 1);&lt;br /&gt;
    g.setGrayScale(0);&lt;br /&gt;
    g.drawRect(0, 0, width - 1, height - 1);&lt;br /&gt;
    g.drawString(&amp;quot;TEXT&amp;quot;, width / 2, height / 2, Graphics.BASELINE | Graphics.HCENTER);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>