código errado! quem sabe o erro?

3 respostas
L

tenho esse erro ao compilar o codigo abaixo alguém sabe resolver?
Project “despertador” loaded
Project settings saved
Building "despertador"
C:\WTK22\apps\despertador\src\despertador.java:9: despertador is not abstract and does not override abstract method destroyApp(boolean) in javax.microedition.midlet.MIDlet
public class despertador extends MIDlet implements ItemStateListener, CommandListener
^
1 error
com.sun.kvem.ktools.ExecutionException
Build failed

meu codigo fonte

import java.util.<em>;

import javax.microedition.midlet.</em>;

import javax.microedition.lcdui.*;

import java.util.Timer;

import java.util.TimerTask;

public class despertador extends MIDlet implements ItemStateListener, CommandListener
{
private Display display; // faz referência ao Objeto Display
private Form fmMain; // fomulário Principal
private Command cmdespertar; // inicia o cronômetro
private Command cmReinicia; // reinicializar a data e hora atuais
private Command cmSair; // sai da MIDlet
private DateField dfdespertatempo; // Duração do alarme
private int dateIndex; // Indice do campo DataField no formuláro
private Date dataatual; // Data Atual … Muda quando pressionar Reinicializar
private Timer tmdesperta; // Cronômetro
private despertatempo ttdesperta; // Chamado pelo cronômetro
private boolean datavalida = false;// O input do usuário é valido?

public despertador()

{

display = Display.getDisplay(this);
// Formulário Principal
fmMain = new Form("Quando despertar:");
// Armazena a data de hoje
dataatual = new Date();

// Campo DataField com a data de hoje como padrão
dfdespertatempo = new DateField("",DateField.DATE_TIME);
dfdespertatempo.setDate(dataatual);
// Todos os Comandos
cmdespertar = new Command("Despertar", Command.SCREEN, 1);
cmReinicia = new Command("Reinicializar", Command.SCREEN,1);
cmSair = new Command("Sair", Command.EXIT,1);

// Adiciona no formulário e espera por eventos

dateIndex = fmMain.append(dfdespertatempo);
fmMain.addCommand(cmdespertar);
fmMain.addCommand(cmReinicia);
fmMain.addCommand(cmSair);
fmMain.setCommandListener(this);
fmMain.setItemStateListener(this);

}

public void startApp()

{

display.setCurrent(fmMain);

}
public void pauseApp()

{

}
public void desroyApp(boolean unconditional)

{

}
public void itemStateChanged(Item item)

{

if (item == dfdespertatempo)

{

// Se o usuário selecionar data e/ou hora passada,

// configure um flag. estamos utilizando  o gettime()

// método da classe Date que retorna o # de milissegundos

// desde 1 janeiro de 1970

if (dfdespertatempo.getDate().getTime() < dataatual.getTime())

datavalida = false;

else

datavalida = true;

}

}
public void commandAction(Command c, Displayable s)

{

if (c == cmdespertar)

{

if ( datavalida == false)

{

Alert al = new Alert(Impossível configurar o alarme,por favor escolha outra hora e data., null, null);

al.setTimeout(Alert.FOREVER);

al.setType(AlertType.ERROR);

display.setCurrent(al);

}
else
	{
		// cria um novo cronometro
		tmdesperta = new Timer();
		ttdesperta = new despertatempo();
		
		// Quantidade de tempo de espera
		long amount = dfdespertatempo.getDate().getTime() - dataatual.getTime();
		tmdesperta.schedule(ttdesperta,amount);
		
		// Remove os comando
		fmMain.removeCommand(cmdespertar);
		fmMain.removeCommand(cmReinicia);
		
		// Remove o campo DataField
		fmMain.delete(dateIndex);
		
		// Muda a menssagem do formulário
		fmMain.setTitle("Disparando Alarme");
		
	}
}
else if (c == cmReinicia)
{
	// Zera a data e horas atuais
	dfdespertatempo.setDate(dataatual = new Date());
}

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

}

// Gerência a tarefa do cronômetro

private class despertatempo extends TimerTask

{

public final void run()

{

Alert al = new Alert(Hora de Acordar!);

al.setTimeout(Alert.FOREVER);

al.setType(AlertType.ALARM);

AlertType.ERROR.playSound(display);

display.setCurrent(al);
// Cancela essa taréfa de cronômetro
	cancel();
}

}
}

3 Respostas

K

vc salvou a sua classe java com o mesmo nome da class se não salvou então salve

C

Opa,
Basta vc escrever destroyApp direito!!!
vc escreveu desroyApp!!!

Falow!

L

valeu pela dica.

Criado 1 de novembro de 2004
Ultima resposta 1 de nov. de 2004
Respostas 3
Participantes 3