//SampleMidlet.java

//Sample midlet program that could be converted to PRC files

//that install into a Palm PDA.

import javax.microedition.lcdui.*;

import javax.microedition.midlet.*;

import javax.microedition.io.*;

import java.io.* ;

import java.lang.*;

public class SampleMidlet extends MIDlet implements

CommandListener

{

//member variables

private Display dCurrentDisplay;

private Form mMainMenu;

private List lChooselist;

private Ticker tMainTicker;

private TextBox txtInputBox;

private DateField dDate = new DateField("Today : ",

DateField.DATE);

//commands used, such as button, labels, and screens

static final Command cBack =

new Command("Back",Command.BACK,0); //back button

static final Command cExit =

new Command("Exit",Command.STOP,2); //Exit button

static final Command cTransfer =

new Command ("Transfer",Command.SCREEN,3);

//variables

String CurrentMenu = null;

String Text = null;

//constructors

public SampleMidlet()

{

mMainMenu = new Form("");

tMainTicker = new Ticker("Ciao, sono io!");

}

//-----------------------------------------------------------

//start application method -- called initailly while running

public void startApp() throws MIDletStateChangeException

{

dCurrentDisplay = Display.getDisplay(this);

lChooselist = new List("",Choice.IMPLICIT);

lChooselist.append("Saluta",null);

lChooselist.append("leggi",null);

lChooselist.append("scrivi",null);

lChooselist.addCommand(cExit);

lChooselist.setCommandListener(this);

lChooselist.setTicker(tMainTicker);

mainmenu();

}

//-----------------------------------------------------------

//mainmenu method to display the option list

void mainmenu()

{

dCurrentDisplay.setCurrent(lChooselist);

CurrentMenu = "Main";

}

//-----------------------------------------------------------

//PauseApp method to stop the program

public void pauseApp()

{

dCurrentDisplay = null;

lChooselist = null;

tMainTicker = null;

mMainMenu = null;

txtInputBox =null;

}

//-----------------------------------------------------------

public void ShowHello()

{

txtInputBox = new TextBox(" ","",50,TextField.ANY);

txtInputBox.addCommand(cBack);

txtInputBox.setCommandListener(this);

txtInputBox.setString("Uelaaaaa'");

dCurrentDisplay.setCurrent(txtInputBox);

CurrentMenu = "Hello";

}

//-----------------------------------------------------------

public void GetInput()

{

txtInputBox = new TextBox("Scrivi:","",50,TextField.ANY);

txtInputBox.addCommand(cBack);

txtInputBox.setCommandListener(this);

txtInputBox.setString(" ");

dCurrentDisplay.setCurrent(txtInputBox);

CurrentMenu = "Input";

}

//-----------------------------------------------------------

public void PrintInput()

{

txtInputBox = new TextBox("Hai scritto:",

"",50,TextField.ANY);

txtInputBox.addCommand(cBack);

txtInputBox.setCommandListener(this);

txtInputBox.setString(Text);

dCurrentDisplay.setCurrent(txtInputBox);

CurrentMenu = "Print";

}

//-----------------------------------------------------------

public void destroyApp(boolean unconditional)

{

notifyDestroyed();

}

//-----------------------------------------------------------

//Handle List Events

public void commandAction(Command c, Displayable d)

{

String sLabel = c.getLabel();

if(sLabel.equals("Exit"))

{

destroyApp(true);

}

else if(sLabel.equals("Back"))

{

if(CurrentMenu.equals("Input"))

{

Text = txtInputBox.getString();

mainmenu();

}

if(CurrentMenu.equals("Hello"))

mainmenu();

if(CurrentMenu.equals("Print"))

mainmenu();

}

else

{

List nIndex = (List)dCurrentDisplay.getCurrent();

switch(nIndex.getSelectedIndex())

{

case 0:ShowHello();

break;

case 1:GetInput();

break;

case 2:PrintInput();

break;

default:break;

}

}

}

//-----------------------------------------------------------

} //end program