Many Commands : Event Command « J2ME « Java






Many Commands

Many Commands

/*--------------------------------------------------
* TooManyCommands.java
*
* Example from the book:     Core J2ME Technology
* Copyright John W. Muchow   http://www.CoreJ2ME.com
* You may use/modify for any non-commercial purpose
*-------------------------------------------------*/
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class TooManyCommands extends MIDlet implements CommandListener
{
  private Display display;      // Reference to Display object for this MIDlet
  private Form fmMain;          // The main Form  
  private TextBox tbAction;     // Textbox to show when user selects upload/download
  private Command cmExit;       // Exit the MIDlet
  private Command cmBack;       // Go "back" to the main form
  private Command cmUload;      // "upload" data - no real action done
  private Command cmDload;      // "download" data - no real action done
  
  public TooManyCommands()
  {
    display = Display.getDisplay(this);

    cmExit = new Command("Exit", Command.EXIT, 1);
    cmBack = new Command("Back", Command.BACK, 1);
    cmUload = new Command("Upload", Command.SCREEN, 2);        
    cmDload = new Command("Download", Command.SCREEN, 3);

    // Create the Form, add Commands, listen for events
    fmMain = new Form("Core J2ME");
    fmMain.addCommand(cmExit);
    fmMain.addCommand(cmUload);
    fmMain.addCommand(cmDload);
    fmMain.setCommandListener(this);    

    // Create a Textbox, add Command, listen for events
    tbAction = new TextBox("Process Data", "Upload/download data ", 25, 0);
    tbAction.addCommand(cmBack);
    tbAction.setCommandListener(this);      
  }

  // Called by application manager to start the MIDlet.
  public void startApp()
  {
    display.setCurrent(fmMain);
  }

  // A required method
  public void pauseApp()
  { }

  // A required method
  public void destroyApp(boolean unconditional)
  { }

  // Process events
  public void commandAction(Command c, Displayable s)
  {
    if (c == cmExit)
    {
      destroyApp(false);
      notifyDestroyed();
    }
    else if (c == cmUload || c == cmDload)
      display.setCurrent(tbAction);     
    else if (c == cmBack)
      display.setCurrent(fmMain);     
  }
}

           
       








Related examples in the same category

1.Simple Command DemoSimple Command Demo
2.CommanderCommander
3.Various EventVarious Event
4.Commands, Items, and Event ProcessingCommands, Items, and Event Processing
5.Api concepts Refer to the startApp pauseApp, and destroyAppApi concepts Refer to the startApp pauseApp, and destroyApp
6.An example MIDlet with simple Hello text and an Exit commandAn example MIDlet with simple Hello text and an Exit command
7.Online Help
8.A first MIDlet with simple text and a few commands.A first MIDlet with simple text and a few commands.
9.Mapping CommandsMapping Commands
10.Capture Item EventsCapture Item Events
11.Accessing CommandsAccessing Commands
12.A quick sample of graphics, commands, and event handling.A quick sample of graphics,  commands, and event handling.