¿Qué error hay en mi aplicación?

José Miguel Romero Castillo
01 de Abril del 2013
package MobileApplication1;

import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

public class UI2 extends MIDlet implements CommandListener {
private final Display DISPLAY = Display.getDisplay(this);
private Command exitCommand;
private Form screen;
private CommandListener cl;

public UI2() {
String[] estados = {"Casado", "Soltero", "Divorciado", "Viudo"};

//Creamos la pantalla principal (un formulario).
screen = new Form ("MyApp");

//Creamos y añadimos los elementos que vamos a utilizar.
TextField nombre = new TextField("Nombre", "null", 30, TextField.ANY);
screen.append(nombre);
DateField fecha_nac = new DateField("Fecha de nacimiento", DateField.DATE);
screen.append(fecha_nac);
ChoiceGroup estado = new ChoiceGroup("Estado", List.EXCLUSIVE, estados, null);
screen.append(estado);

//Creamos el comando Salir.
exitCommand = new Command("Salir",Command.EXIT,2);

//Creamos el comando Salir e indicamos qué clase lo manejará.
screen.addCommand(exitCommand);
screen.setCommandListener(cl);
DISPLAY.setCurrent (screen);
}

public void commandAction(Command c, Displayable s) {
if (c==exitCommand) {
destroyApp(false);
notifyDestroyed();
}
}

public void startApp() {
}

public void pauseApp() {
}

public void destroyApp(boolean unconditional) {
}
}

//Usé screen.CommandListener(this) pero no funcionó.