Duvida de novato

Pessoal estou aprendendo J2ME com livros, dai apareceu a seguinte duvida
Quando eu monto uma aplicação com CommandListener dai colocar este pedaço de codigo que esta entre aspas, motivo coloquei este pedaço porque no livro que estou estudando tem isso e mesmo quando coloco isso não funciona nenhum objeto Commad o q estou fazendo de errado ?

public class MinhaMID extends MIDlet “implements CommandListener”

Posta o código todo ai

Exemplo utilizando CommandListaner:

package j2me.aulas.cap04;

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

public class HelloWorldMIDlet extends MIDlet 
	implements CommandListener {
	
	private Display display;
	private Form frmMain;
	private Command cmdExit;

	/**
	 * Construtor padrão 
	 */
	public HelloWorldMIDlet(){
		display = Display.getDisplay(this);
		cmdExit = new Command("Sair", Command.SCREEN, 1);
		frmMain = new Form("Bem-Vindo");
		frmMain.append("Um olá mundo com Java ME!");
		frmMain.addCommand(cmdExit);
		frmMain.setCommandListener(this);
	}

	
	/**
	 * Esse método é chamado quando a aplicação é iniciada e toda vez que o
	 * MIDlet sai do estado de pausa.
	 * 
	 * @see javax.microedition.midlet.MIDlet#startApp()
	 */
	public void startApp(){
		display.setCurrent(frmMain);
	}

	
	/**
	 * Esse método é chamado quando a aplicação é pausada.
	 * 
	 * @see javax.microedition.midlet.MIDlet#pauseApp()
	 */
	public void pauseApp(){}
	
	/**
	 * Esse método é chamado antes da aplicação ser destruída.
	 * 
	 * @see javax.microedition.midlet.MIDlet#destroyApp(boolean)
	 */
	public void destroyApp(boolean unconditional){}

	
	/**
	 * Esse método trata os eventos dos comandos.
	 * 
	 * @see javax.microedition.lcdui.CommandListener#commandAction(javax.microedition.lcdui.Command,
	 *      javax.microedition.lcdui.Displayable)
	 */
	public void commandAction(Command c, Displayable d){
		//Se o Command for cmdExit fecha a aplicação
                if (c == cmdExit){
			destroyApp(false);
			notifyDestroyed();
		}
	}
}

Espero que ajude!

Nesse seu código aí só tem um Command que é o “cmdExit”. No método CommandAction você define qual ação esse Command vai ser realizada quando for acionado. No seu caso ele vai simplesmente fechar o seu programa. Na verdade ele deveria fazer isso se na linha 61 você mudar o código:

para:

daí provavelmente ele vai funcionar.

E uma Dica. Repare que no método CommandAction há dois argumentos: um se refere ao Command e o outro ao Displayable. O argumento Displayable indica de qual tela (displayble) que veio o a ação e o Command, claro, qual o command que foi acionado naquela tela. Então, sempre faça a comparação para saber de qual displayable vem o command e depois verifique qual o command, dessa forma fica mais organizado.

t+

O que seria esse “não funciona nenhum objeto Commad” ?

sobre passar true ou false no destroyApp() depende de como ele implementou a sobrecarga do metodo, se vc não trata nada lá dentro ele vai destruir de qualquer jeito, mas o certo é :

     public void destroyApp(boolean unconditional){
           notifyDestroyed();  
     }
  
     public void commandAction(Command c, Displayable d){  
         //Se o Command for cmdExit fecha a aplicação  
                 if (c == cmdExit){  
             destroyApp(true);  //Em todo código chame sempre assim,
         }  
     } 

Sobre a hora de usar o true e o false no metodo do parametro é um caso aparte se quizer eu te explico em outro post.