Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    141

    [ java micro ] errore compilazione

    1error : public class Hello extends MID...... segnandomi con una frecetta la parola class

    is not abstract and does not override abstract method commandAction(java.microedition.lcdui.Command , javax.microedition.lcui.Displayable )

    ------------------------

    HELP ... PLEASE

    ------------------------

    codice:
    import javax.microedition.io.*;
    import javax.microedition.lcdui.*;
    import javax.microedition.lcdui.StringItem;
    import javax.microedition.midlet.*;
    
    public class HelloJ2ME extends MIDlet implements CommandListener{
    
    	private Display display;
        private Form fmMain;
    
    	private Command cmExit;
    	private Command cmPrimo;
        private Command cmSecondo;
        private Command cmTerzo;
    
    	private TextBox tbAction;
    	private Command cmBack;
    
    	public HelloJ2ME(){}
    
        public void pauseApp(){ 
    		System.out.println("In pauseApp .....\n\n"); 
            destroyApp( true ); 
    		notifyDestroyed(); 
    	} 
    			 
    	public void destroyApp( boolean unconditional ) { 
    	     System.out.println("In destroyApp .....\n\n"); 
    	}
    
    	public void startApp() {     
    		try {       
    
    		display = Display.getDisplay(this);
            cmExit = new Command("Exit", Command.EXIT, 1);
            cmBack = new Command("Back", Command.BACK, 1);
    		cmTerzo = new Command("Terzo", Command.SCREEN, 4);
    		cmPrimo = new Command("Primo", Command.SCREEN, 2);
    		cmSecondo = new Command("Secondo", Command.SCREEN, 3);
    
    		fmMain = new Form("EuroConverter");
    		fmMain.addCommand(cmExit);
    		fmMain.addCommand(cmPrimo);
    		fmMain.addCommand(cmSecondo);
    		fmMain.addCommand(cmTerzo);
    		fmMain.setCommandListener(this);
    	
    	       StringItem oper =new StringItem(null, "\nCreated by B.a.r.u.");
    	       ImageItem lg;
    	       Image logo = Image.createImage("/immicon.png");
    	       lg = new ImageItem("", logo, ImageItem.LAYOUT_CENTER, "Logo");
    	       fmMain.append(lg);
    	       fmMain.append(oper);
    	       display.setCurrent(fmMain);
    	 
    	     } catch (Exception e) { System.out.println("Errore!!!!"); }
    	}
    }

  2. #2
    credo che tu debba riscrivere il metodo commandAction(java.microedition.lcdui.Command , javax.microedition.lcui.Displayable )

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    141
    sono alle prime armi ... un aiuto ...

  4. #4
    quando tu implementi una particolare interfaccia, devi implementare i metodi dichiarati nell'interfaccia stessa.
    se vai a vedere la documentazione J2ME vedrai ke l'interfaccia CommandListener contiene l'intestazione del metodo

    commandAction(Command c, Displayable d)

    essendo ke la tua classe implementa questa interfaccia, essa deve contenere questo metodo.

    ora, cm si implementa il metodo commandAction(...): questo metodo serve per gestire la pressione di un comando, nel tuo esempio cmExit,cmBack...
    quindi dovrai scrivere:

    public void commandAction (Command c, Displayable d)
    {
    if(c == cmExit && d == fmMain)
    {
    <cosa accade quando premi il comando cmExit del Form fmMain>
    }
    else if(c == cmBack && d == fmMain)
    {
    <cosa accade quando premi il comando cmBack del Form fmMain>
    }
    else...
    }

    se hai altri problemi contattami. ciao
    Fede

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    141
    ci ho smanettato un pomeriggio e colto da una crisi depressiva ho deciso ...

    richiedo aiuto ...

    ok dovrei aver capito ... mi sorge un'altra domanda ...

    public void commandAction (Command c, Displayable d)
    {
    if(c == cmExit && d == fmMain)
    {
    <cosa accade quando premi il comando cmExit del Form fmMain>
    }
    else if(c == cmBack && d == fmMain)
    {
    <cosa accade quando premi il comando cmBack del Form fmMain>
    }
    else...
    }
    dove la devo mettere dove ??

    ..

    e questo :

    cmExit = new Command("Exit", Command.EXIT, 1);
    cmBack = new Command("Back", Command.BACK, 1);
    cmTerzo = new Command("Terzo", Command.SCREEN, 4);
    cmPrimo = new Command("Primo", Command.SCREEN, 2);
    cmSecondo = new Command("Secondo", Command.SCREEN, 3);

    fmMain = new Form("EuroConverter");
    fmMain.addCommand(cmExit);
    fmMain.addCommand(cmPrimo);
    fmMain.addCommand(cmSecondo);
    fmMain.addCommand(cmTerzo);
    fmMain.setCommandListener(this);

    la devo togliere sto codice ???

  6. #6
    devi mettere l'azione che corrisponde al comando. ad esempio, in questo caso:

    if(c == cmExit && d == fmMain)
    {
    notifyDestroyed();
    }

    dove il metodo notifyDestroyed() fa uscire dalla applicazione.

    il codice:
    cmExit = new Command("Exit", Command.EXIT, 1);
    cmBack = new Command("Back", Command.BACK, 1);
    cmTerzo = new Command("Terzo", Command.SCREEN, 4);
    cmPrimo = new Command("Primo", Command.SCREEN, 2);
    cmSecondo = new Command("Secondo", Command.SCREEN, 3);

    inizializza i diversi comandi (ke sono quelli ke appaiono in basso a destra e sinistra dello schermo, in corrispondenza dei tastini.


    fmMain = new Form("EuroConverter");
    inizializza il form


    fmMain.addCommand(cmExit);
    fmMain.addCommand(cmPrimo);
    fmMain.addCommand(cmSecondo);
    fmMain.addCommand(cmTerzo);

    aggiunge i comandi al form. essi appariranno quando il form viene visualizzato.


    fmMain.setCommandListener(this);
    imposta il ricevitore di eventi di comando la classe HelloMIDlet, in modo che ogni volta ke viene scelto un comando viene richiamato il metodo commandAction(...).
    Fede

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.