lists, forms, choices, gauges, text fields, text boxes in J2ME
By: Eric Giguere
This example demonstrates how to create various GUI components. The MIDlet for this example allows you to test lists, forms, choices, gauges, text fields, text boxes, for example.
import javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class GuiTests extends MIDlet implements CommandListener { // display manager Display display = null; // a menu with items List menu = null; // main menu // list of choices List choose = null; // textbox TextBox input = null; // ticker Ticker ticker = new Ticker("Test GUI Components"); // alerts final Alert soundAlert = new Alert("sound Alert"); // date DateField date = new DateField("Today's date: ", DateField.DATE); // form Form form = new Form("Form for Stuff"); // gauge Gauge gauge = new Gauge("Gauge Label", true, 10, 0); // text field TextField textfield = new TextField("TextField Label", "abc", 50, 0); // command static final Command backCommand = new Command("Back", Command.BACK, 0); static final Command mainMenuCommand = new Command("Main", Command.SCREEN, 1); static final Command exitCommand = new Command("Exit", Command.STOP, 2); String currentMenu = null; // constructor. public GuiTests() { } /** * Start the MIDlet by creating a list of items and associating the * exit command with it. */ public void startApp() throws MIDletStateChangeException { display = Display.getDisplay(this); // open a db stock file menu = new List("Test Components", Choice.IMPLICIT); menu.append("Test TextBox", null); menu.append("Test List", null); menu.append("Test Alert", null); menu.append("Test Date", null); menu.append("Test Form", null); menu.addCommand(exitCommand); menu.setCommandListener(this); menu.setTicker(ticker); mainMenu(); } public void pauseApp() { display = null; choose = null; menu = null; ticker = null; form = null; input = null; gauge = null; textfield = null; } public void destroyApp(boolean unconditional) { notifyDestroyed(); } // main menu void mainMenu() { display.setCurrent(menu); currentMenu = "Main"; } /** * Test the TextBox component. */ public void testTextBox() { System.out.println("textbox called"); input = new TextBox("Enter Some Text:", "", 5, TextField.ANY); input.setTicker(new Ticker("testTextBox")); input.addCommand(backCommand); input.setCommandListener(this); input.setString(""); display.setCurrent(input); currentMenu = "input"; } /** * Test the List component. */ public void testList() { choose = new List("Choose Items", Choice.MULTIPLE); choose.setTicker(new Ticker("listTest")); choose.addCommand(backCommand); choose.setCommandListener(this); choose.append("Item 1", null); choose.append("Item 2", null); choose.append("Item 3", null); display.setCurrent(choose); currentMenu = "list"; } /** * Test the Alert component. */ public void testAlert() { soundAlert.setType(AlertType.ERROR); soundAlert.setString("** ERROR **"); display.setCurrent(soundAlert); } /** * Test the DateField component. */ public void testDate() { java.util.Date now = new java.util.Date(); date.setDate(now); Form f = new Form("Today's date"); f.append(date); f.addCommand(backCommand); f.setCommandListener(this); display.setCurrent(f); currentMenu = "date"; } /** * Test the Form component. */ public void testForm() { form.append(gauge); form.append(textfield); form.addCommand(backCommand); form.setCommandListener(this); display.setCurrent(form); currentMenu = "form"; } /** * Handle events. */ public void commandAction(Command c, Displayable d) { String label = c.getLabel(); if (label.equals("Exit")) { destroyApp(true); } else if (label.equals("Back")) { if(currentMenu.equals("list") || currentMenu.equals("input") || currentMenu.equals("date") || currentMenu.equals("form")) { // go back to menu mainMenu(); } } else { List down = (List)display.getCurrent(); switch(down.getSelectedIndex()) { case 0: testTextBox();break; case 1: testList();break; case 2: testAlert();break; case 3: testDate();break; case 4: testForm();break; } } } }
Archived Comments
1. please i need to code an application in which you choose your sexe and enter your name when you pres
View Tutorial By: eya at 2014-11-06 14:15:50
2. This is great! this is a big help for my studies! Thanks!
View Tutorial By: cAmfy at 2012-10-13 06:09:48
3. Great works! Pls I want to create a j2me mobile messenger, with social features lyk chatroom etc! Wh
View Tutorial By: Chris at 2012-05-16 22:18:54
4. really nice article
View Tutorial By: fir at 2010-01-05 02:32:16
5. U r real cheaters...Copying something as their own article....
this is the real URL=h
View Tutorial By: HiBoy at 2010-01-05 02:30:13
6. hi Eric Giguere,
You brilliantly copied this from sun's official site.
http://
View Tutorial By: danger guy at 2010-01-03 12:08:12
7. Thank you so much Eric Giguere.
You save me.
View Tutorial By: ijAcK D at 2009-10-18 05:02:48
8. abasasasasas
View Tutorial By: abac at 2009-07-01 00:36:34
9. Great examples Eric! Really helped me out a lot, much better than anything else I found googlin :D K
View Tutorial By: Markus at 2008-11-12 05:27:05
Comment on this tutorial
- Data Science
- Android
- AJAX
- ASP.net
- C
- C++
- C#
- Cocoa
- Cloud Computing
- HTML5
- Java
- Javascript
- JSF
- JSP
- J2ME
- Java Beans
- EJB
- JDBC
- Linux
- Mac OS X
- iPhone
- MySQL
- Office 365
- Perl
- PHP
- Python
- Ruby
- VB.net
- Hibernate
- Struts
- SAP
- Trends
- Tech Reviews
- WebServices
- XML
- Certification
- Interview
categories
Related Tutorials
Code sample to Send SMS from a J2ME application.
Adding your own Application icon for your J2ME application (jar file)
Play a multimedia file in J2ME Program (Audio/Video) using MMAPI
Using HttpConnection in J2ME (Retrieve web content from a website to a phone)
Using HTTP vs UDP vs Socket in J2ME
RMSCookieConnector - Using Cookies in J2ME
Client Server in J2ME (Socket Programming sample)
Datagrams in J2ME (UDP Programming sample)
POST UTF-8 encoded data to the server in J2ME
Using alerts and tickers in J2ME
Using List to create a Menu and Menu items in J2ME
lists, forms, choices, gauges, text fields, text boxes in J2ME
Timer and TimerTask example in J2ME