Mega Code Archive

 
Categories / Java / J2ME
 

TextBox MIDlet 2

/* J2ME in a Nutshell By Kim Topley ISBN: 0-596-00253-X */ import java.io.*; import javax.microedition.lcdui.Command; import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.*; import javax.microedition.midlet.MIDlet; public class TextBox2MIDlet extends TextBoxMIDlet implements CommandListener {     // Exit command     private static final Command EXIT_COMMAND =                          new Command("Exit", Command.EXIT, 0);          // OK command     private static final Command OK_COMMAND =                         new Command("OK", Command.OK, 0);          // Clear text box content     private static final Command CLEAR_COMMAND =                         new Command("Clear", Command.SCREEN, 1);          // Reverse the content of the text box     private static final Command REVERSE_COMMAND =                         new Command("Reverse", Command.SCREEN, 1);     protected void startApp() {         boolean firstTime = !started;         super.startApp();                  // If this is the first execution         // of startApp, install commands         if (firstTime) {             textBox.addCommand(OK_COMMAND);                         textBox.addCommand(EXIT_COMMAND);             textBox.addCommand(CLEAR_COMMAND);                         textBox.addCommand(REVERSE_COMMAND);                         textBox.setCommandListener(this);         }     }          // Command implementations.     public void commandAction(Command c, Displayable d) {         if (c == EXIT_COMMAND) {             destroyApp(true);             notifyDestroyed();         } else if (c == OK_COMMAND) {             System.out.println("OK pressed");         } else if (c == CLEAR_COMMAND) {             textBox.setString(null);         } else if (c == REVERSE_COMMAND) {             String str = textBox.getString();             if (str != null) {                 StringBuffer sb = new StringBuffer(str);                 textBox.setString(sb.reverse().toString());             }                     }     }     } class TextBoxMIDlet extends MIDlet {     // Maximum size of the text in the TextBox     private static final int MAX_TEXT_SIZE = 64;          // The TextBox     protected TextBox textBox;          // The MIDlet's Display object     protected Display display;          // Flag indicating first call of startApp     protected boolean started;          protected void startApp() {         if (!started) {             // First time through - initialize                         // Get the text to be displayed             String str = null;             try {                 InputStream is = getClass().getResourceAsStream("test.txt");                 InputStreamReader r = new InputStreamReader(is);                 char[] buffer = new char[32];                 StringBuffer sb = new StringBuffer();                 int count;                 while ((count = r.read(buffer, 0, buffer.length)) > -1) {                     sb.append(buffer, 0, count);                 }                 str = sb.toString();             } catch (IOException ex) {                 str = "Failed to load text";             }                          // Create the TextBox             textBox = new TextBox("TextBox Example", str,                                  MAX_TEXT_SIZE, TextField.ANY);                          // Create a ticker and install it             Ticker ticker = new Ticker("This is a ticker...");             textBox.setTicker(ticker);                          // Install the TextBox as the current screen             display = Display.getDisplay(this);                         display.setCurrent(textBox);             started = true;         }             }     protected void pauseApp() {     }     protected void destroyApp(boolean unconditional) {     } }