bah - Strike one up for Nokia - again.
Device bug it would seem. This simple test *sometimes* fails after typing some input.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
| package dk.certus;
import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException;
import javax.microedition.lcdui.*;
public class TT extends MIDlet implements CommandListener {
private Form form;
private TextBox textBox; private Command sendCommand; private Command cancelCommand;
public TT() { super(); }
protected void startApp() throws MIDletStateChangeException { form = new Form("Empty"); form.addCommand(new Command("Action", Command.SCREEN, 1)); form.setCommandListener( new CommandListener() { public void commandAction(Command c, Displayable d) { showTextBox(); } }); Display.getDisplay(this).setCurrent(form); }
protected void pauseApp() { }
protected void destroyApp(boolean unconditional) throws MIDletStateChangeException { } private void showTextBox() { sendCommand = new Command("Send", Command.OK, 1); cancelCommand = new Command("Cancel", Command.CANCEL, 2); textBox = new TextBox("To", null, 350, TextField.ANY); textBox.addCommand(sendCommand); textBox.addCommand(cancelCommand); textBox.setCommandListener(this); Display.getDisplay(this).setCurrent(textBox); } public void commandAction(Command command, Displayable displayable) { String message; if(command == sendCommand && textBox.getString().length() > 0) { message = textBox.getString(); } else { char[] chars = new char[256]; textBox.getChars(chars); message = "Error\n"; message += "Type: " + command.getCommandType(); message += "Label: " + command.getLabel(); message += "String: " + textBox.getString(); message += "Length: " + textBox.getString().length(); message += "Chars: " + new String(chars); message += "Size: " + textBox.size(); message += "CaretPosition: " + textBox.getCaretPosition(); }
textBox = null; sendCommand = null; cancelCommand = null; Alert alert = new Alert("Result", message, null, null); alert.setTimeout(Alert.FOREVER); Display.getDisplay(this).setCurrent(alert, form); } } |