/*--------------------------------------------------
* 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 http://www.CoreJ2ME.com
* 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();
}
}
}
|