import javax.microedition.lcdui.Choice;
import javax.microedition.lcdui.ChoiceGroup;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.TextBox;
import javax.microedition.lcdui.TextField;
import javax.microedition.lcdui.Ticker;
import javax.microedition.midlet.MIDlet;
public class TextBoxDemo extends MIDlet implements CommandListener {
private Display display;
private ChoiceGroup types;
private ChoiceGroup options;
private Form mainform;
private static final Command CMD_EXIT = new Command("Exit",Command.EXIT,1);
private static final Command CMD_BACK = new Command("Back",Command.BACK,1);
private static final Command CMD_SHOW = new Command("Show",Command.SCREEN,1);
static final String[] textBoxLabels = {
"Any Character","E_Mail","Number","Decimal","Phone","Url"
};
static final int[] textBoxTypes = {
TextField.ANY,TextField.EMAILADDR,TextField.NUMERIC,TextField.DECIMAL,TextField.PHONENUMBER,TextField.URL
};
private boolean firstTime;
public TextBoxDemo(){
display = Display.getDisplay(this);
firstTime = true;
}
protected void destroyApp(boolean arg0) {
}
protected void pauseApp() {
}
protected void startApp() {
if(firstTime){
mainform = new Form("Text");
mainform.append("text");
Image[] imageArray = null;
types = new ChoiceGroup("Choose type",Choice.EXCLUSIVE,textBoxLabels,imageArray);
mainform.append(types);
String[] optionStrings = {"As Password","Show Ticker"};
options = new ChoiceGroup("Options",Choice.MULTIPLE,optionStrings,null);
mainform.append(options);
mainform.addCommand(CMD_SHOW);
mainform.addCommand(CMD_EXIT);
mainform.setCommandListener(this);
firstTime = false;
}
display.setCurrent(mainform);
}
public void commandAction(Command c, Displayable d) {
if(c == CMD_EXIT){
destroyApp(false);
}else if(c == CMD_SHOW){
int index = types.getSelectedIndex();
String title = textBoxLabels[index];
int choiceType = textBoxTypes[index];
boolean[] flags = new boolean[2];
options.getSelectedFlags(flags);
if(flags[0]){
choiceType = TextField.PASSWORD;
}
TextBox textBox = new TextBox(title,"",50,choiceType);
if(flags[1]){
textBox.setTicker(new Ticker("TextBox:"+title));
}
textBox.addCommand(CMD_BACK);
textBox.setCommandListener(this);
display.setCurrent(textBox);
}else if(c == CMD_BACK){
display.setCurrent(mainform);
}
}
}
import javax.microedition.lcdui.ChoiceGroup;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.TextBox;
import javax.microedition.lcdui.TextField;
import javax.microedition.lcdui.Ticker;
import javax.microedition.midlet.MIDlet;
public class TextBoxDemo extends MIDlet implements CommandListener {
private Display display;
private ChoiceGroup types;
private ChoiceGroup options;
private Form mainform;
private static final Command CMD_EXIT = new Command("Exit",Command.EXIT,1);
private static final Command CMD_BACK = new Command("Back",Command.BACK,1);
private static final Command CMD_SHOW = new Command("Show",Command.SCREEN,1);
static final String[] textBoxLabels = {
"Any Character","E_Mail","Number","Decimal","Phone","Url"
};
static final int[] textBoxTypes = {
TextField.ANY,TextField.EMAILADDR,TextField.NUMERIC,TextField.DECIMAL,TextField.PHONENUMBER,TextField.URL
};
private boolean firstTime;
public TextBoxDemo(){
display = Display.getDisplay(this);
firstTime = true;
}
protected void destroyApp(boolean arg0) {
}
protected void pauseApp() {
}
protected void startApp() {
if(firstTime){
mainform = new Form("Text");
mainform.append("text");
Image[] imageArray = null;
types = new ChoiceGroup("Choose type",Choice.EXCLUSIVE,textBoxLabels,imageArray);
mainform.append(types);
String[] optionStrings = {"As Password","Show Ticker"};
options = new ChoiceGroup("Options",Choice.MULTIPLE,optionStrings,null);
mainform.append(options);
mainform.addCommand(CMD_SHOW);
mainform.addCommand(CMD_EXIT);
mainform.setCommandListener(this);
firstTime = false;
}
display.setCurrent(mainform);
}
public void commandAction(Command c, Displayable d) {
if(c == CMD_EXIT){
destroyApp(false);
}else if(c == CMD_SHOW){
int index = types.getSelectedIndex();
String title = textBoxLabels[index];
int choiceType = textBoxTypes[index];
boolean[] flags = new boolean[2];
options.getSelectedFlags(flags);
if(flags[0]){
choiceType = TextField.PASSWORD;
}
TextBox textBox = new TextBox(title,"",50,choiceType);
if(flags[1]){
textBox.setTicker(new Ticker("TextBox:"+title));
}
textBox.addCommand(CMD_BACK);
textBox.setCommandListener(this);
display.setCurrent(textBox);
}else if(c == CMD_BACK){
display.setCurrent(mainform);
}
}
}