/*--------------------------------------------------
* SoundAlert.java
*
* 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 SoundAlert extends MIDlet implements ItemStateListener, CommandListener
{
private Display display; // Reference to display object
private Form fmMain; // Main form
private Command cmExit; // Command to exit the MIDlet
private ChoiceGroup cgSound; // Choice group
public SoundAlert()
{
display = Display.getDisplay(this);
// Create an exclusive (radio) choice group
cgSound = new ChoiceGroup("Choose a sound", Choice.EXCLUSIVE);
// Append options, with no associated images
cgSound.append("Info", null);
cgSound.append("Confirmation", null);
cgSound.append("Warning", null);
cgSound.append("Alarm", null);
cgSound.append("Error", null);
cmExit = new Command("Exit", Command.EXIT, 1);
// Create Form, add components, listen for events
fmMain = new Form("");
fmMain.append(cgSound);
fmMain.addCommand(cmExit);
fmMain.setCommandListener(this);
fmMain.setItemStateListener(this);
}
public void startApp()
{
display.setCurrent(fmMain);
}
public void pauseApp()
{ }
public void destroyApp(boolean unconditional)
{ }
public void commandAction(Command c, Displayable s)
{
if (c == cmExit)
{
destroyApp(false);
notifyDestroyed();
}
}
public void itemStateChanged(Item item)
{
switch (cgSound.getSelectedIndex())
{
case 0:
AlertType.INFO.playSound(display);
break;
case 1:
AlertType.CONFIRMATION.playSound(display);
break;
case 2:
AlertType.WARNING.playSound(display);
break;
case 3:
AlertType.ALARM.playSound(display);
break;
case 4:
AlertType.ERROR.playSound(display);
break;
}
}
}
|