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