public ConfirmationDialog(Display display, String amessage,
String ayesLabel, String anoLabel)
{
super(display);
this.message = (amessage == null) ? "继续操作?" : amessage;
this.yesLabel = (yesLabel == null) ? "确定" : ayesLabel;
this.noLabel = (noLabel == null) ? "返回" : anoLabel;
yesCommand = new Command(yesLabel, Command.OK, 1);
noCommand = new Command(noLabel, Command.CANCEL, 1);
canvas = new WaitCanvas(message, true);
canvas.addCommand(yesCommand);
canvas.addCommand(noCommand);
canvas.setCommandListener(this);
}
public String getMessage()
{
return message;
}
public void setMessage(String message)
{
this.message = message;
}
public void commandAction(Command c, Displayable d)
{
if (c == yesCommand)
{
dismiss(YES);
} else if (c == noCommand)
{
dismiss(NO);
}
}
protected Displayable getDisplayable()
{
return canvas;
}
}
import javax.microedition.lcdui.*;
public class MessageDialog extends Dialog implements CommandListener
{
public static final int OK = 0;
protected Command command;
protected Canvas canvas;
private String message;
private String label;
public MessageDialog(Display display, String message)
{
this(display, message, null);
}
public MessageDialog(Display display, String amessage, String alabel)
{
super(display);
this.message = (amessage == null)?"完成":amessage;
this.label = (alabel == null)?"确定":alabel;
command = new Command(label, Command.OK, 1);
canvas = new WaitCanvas(message, true);
canvas.addCommand(command);
canvas.setCommandListener(this);
}
public void commandAction(Command c, Displayable d)
{
if (c == command)
{
dismiss(OK);
}
}
protected Displayable getDisplayable()
{
return canvas;
}
}
你可以方便的在自己的程序中使用这两个Dialog,你也可以扩展Dialog类实现自己的Dialog,下面是测试这两个Dialog的MIDlet。首先我们看一下它的截图然后给出源代码!

这里只给出用户选择确定的界面,如果你选择返回那么知识下面的文字改变。
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class DialogTest extends MIDlet implements CommandListener,
DialogListener
{
private Display display;
private Form mainForm;
private ConfirmationDialog confirm;
private MessageDialog message;