Google
 

Friday, March 21, 2008

List Example 02(Multiple Choice List)

/*--------------------------------------------------
* MultipleChoiceList.java
*
* Create multiple choice list and save selection
* status of each element in an array.
*
* Example from the book: Core J2ME Technology
* Copyright John W. Muchow
* You may use/modify for any non-commercial purpose
*-------------------------------------------------*/
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class MultipleChoiceList extends MIDlet implements CommandListener
{
private Display display; // Reference to display object
private Command cmExit; // A Command to exit the MIDlet
private Command cmView; // View the choice selected
private List lsPrefs; // Choice Group of preferences

public MultipleChoiceList()
{
display = Display.getDisplay(this);

// Create a multiple choice list
lsPrefs = new List("Preferences", List.MULTIPLE);

// Append options, with no associated images
lsPrefs.append("Auto Indent", null);
lsPrefs.append("Replace Tabs", null);
lsPrefs.append("Wrap Text", null);

cmExit = new Command("Exit", Command.EXIT, 1);
cmView = new Command("View", Command.SCREEN,2);

// Add commands, listen for events
lsPrefs.addCommand(cmExit);
lsPrefs.addCommand(cmView);
lsPrefs.setCommandListener(this);
}

public void startApp()
{
display.setCurrent(lsPrefs);
}

public void pauseApp()
{ }

public void destroyApp(boolean unconditional)
{ }

public void commandAction(Command c, Displayable s)
{
if (c == cmView)
{
boolean selected[] = new boolean[lsPrefs.size()];

// Fill array indicating whether each element is checked
lsPrefs.getSelectedFlags(selected);

for (int i = 0; i < lsPrefs.size(); i++)
System.out.println(lsPrefs.getString(i) + (selected[i] ? ": selected" : ": not selected"));

}
else if (c == cmExit)
{
destroyApp(false);
notifyDestroyed();
}
}
}

0 comments: