Start the MIDlet by creating a list of items and associating the exit command with it : Command « J2ME « Java Tutorial






Start the MIDlet by creating a list of items and associating the exit command with it
/* License
 * 
 * Copyright 1994-2004 Sun Microsystems, Inc. All Rights Reserved.
 * 
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *  
 *  * Redistribution of source code must retain the above copyright notice,
 *      this list of conditions and the following disclaimer.
 * 
 *  * Redistribution in binary form must reproduce the above copyright notice,
 *      this list of conditions and the following disclaimer in the
 *      documentation and/or other materials provided with the distribution.
 * 
 * Neither the name of Sun Microsystems, Inc. or the names of contributors
 * may be used to endorse or promote products derived from this software
 * without specific prior written permission.
 *  
 * This software is provided "AS IS," without a warranty of any kind. ALL
 * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING
 * ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
 * OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN")
 * AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE
 * AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
 * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST
 * REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL,
 * INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY
 * OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE,
 * EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
 *  
 * You acknowledge that this software is not designed, licensed or intended
 * for use in the design, construction, operation or maintenance of any
 * nuclear facility. 
 */

import javax.microedition.lcdui.Choice;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.List;
import javax.microedition.lcdui.TextBox;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

public class EventEx1 extends MIDlet implements CommandListener {
  // display manager
  Display display = null;

  // a menu with items
  List menu = null; // main menu

  // textbox
  TextBox input = null;

  // command
  static final Command backCommand = new Command("Back", Command.BACK, 0);
  static final Command mainMenuCommand = new Command("Main", Command.SCREEN, 1);
  static final Command exitCommand = new Command("Exit", Command.STOP, 2);
  String currentMenu = null;

  // constructor.
  public EventEx1() {
  }

  /**
   * Start the MIDlet by creating a list of items and associating the exit
   * command with it.
   */
  public void startApp() throws MIDletStateChangeException {
    display = Display.getDisplay(this);

    menu = new List("Menu Items", Choice.IMPLICIT);
    menu.append("Item1", null);
    menu.append("Item2", null);
    menu.append("Item3", null);
    menu.append("Item4", null);
    menu.addCommand(exitCommand);
    menu.setCommandListener(this);

    mainMenu();
  }

  public void pauseApp() {
    display = null;
    menu = null;
    input = null;
  }

  public void destroyApp(boolean unconditional) {
    notifyDestroyed();
  }

  // main menu
  void mainMenu() {
    display.setCurrent(menu);
    currentMenu = "Main";
  }

  /**
   * a generic method that will be called when selected any of the items on the
   * list.
   */
  public void prepare() {
    input = new TextBox("Enter some text: ", "", 5, TextField.ANY);
    input.addCommand(backCommand);
    input.setCommandListener(this);
    input.setString("");
    display.setCurrent(input);
  }

  /**
   * Test item1.
   */
  public void testItem1() {
    prepare();
    currentMenu = "item1";
  }

  /**
   * Test item2.
   */
  public void testItem2() {
    prepare();
    currentMenu = "item2";
  }

  /**
   * Test item3.
   */
  public void testItem3() {
    prepare();
    currentMenu = "item3";
  }

  /**
   * Test item4.
   */
  public void testItem4() {
    prepare();
    currentMenu = "item4";
  }

  /**
   * Handle events.
   */
  public void commandAction(Command c, Displayable d) {
    String label = c.getLabel();
    if (label.equals("Exit")) {
      destroyApp(true);
    } else if (label.equals("Back")) {
      if (currentMenu.equals("item1") || currentMenu.equals("item2")
          || currentMenu.equals("item3") || currentMenu.equals("item4")) {
        // go back to menu
        mainMenu();
      }

    } else {
      List down = (List) display.getCurrent();
      switch (down.getSelectedIndex()) {
      case 0:
        testItem1();
        break;
      case 1:
        testItem2();
        break;
      case 2:
        testItem3();
        break;
      case 3:
        testItem4();
        break;
      }

    }
  }
}








31.17.Command
31.17.1.Add Command to MIDlet
31.17.2.Start the MIDlet by creating a list of items and associating the exit command with itStart the MIDlet by creating a list of items and associating the exit command with it
31.17.3.A MIDlet with simple text and a few commands.
31.17.4.Get command label and typeGet command label and type
31.17.5.Exit Command
31.17.6.Help commandHelp command