Ciao a tutti! Sto inizioando a studiare un po' di J2ME; il problema che ho è il seguente... ho scritto questo codice:
Codice PHP:
package play.it.angelo.main;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class Displayable1 extends MIDlet {
private Display dis;
private Launch lancia;
public Displayable1(){
dis = Display.getDisplay( this );
lancia = new Launch( this );
}
public void destroyApp( boolean unconditionated ){
}
public void pauseApp( ){
}
public void startApp( ){
dis.setCurrent( lancia );
}
public void exitMIDlet(){
destroyApp( true );
notifyDestroyed();
}
}
E:
Codice PHP:
package play.it.angelo.main;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.io.*;
public class Launch extends Canvas implements CommandListener {
private Image sfondo;
private Displayable1 dis;
private Command exit;
public Launch( Displayable1 dis ) {
exit = new Command( "Exit", Command.EXIT, 1 );
this.dis = dis;
try {
jbInit();
}catch(Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
try{
sfondo = Image.createImage( "/Immagini/sfondo.png" );
}catch( IOException io ){
System.err.println( "IOException "+ io.getMessage() );
sfondo = null;
}
setCommandListener(this);
addCommand( exit );
}
public void commandAction(Command command, Displayable displayable) {
if( command == this.exit ){
this.dis.exitMIDlet();
}
}
protected void paint( Graphics g ) {
if( sfondo != null ){
g.drawImage( sfondo, this.getWidth()/2, this.getHeight()/2, Graphics.VCENTER | Graphics.HCENTER );
}
}
}
Ovviamente ho l'immagine sfondo.png nella directory Immagini; quando lancio l'applicazione ( usando JBuilder 8 enterprise+mobile set 3.1 ) ottengo la seguente eccezione:
Codice PHP:
java.lang.IllegalAccessException
at com.sun.midp.midlet.Selector.commandAction(+50)
at javax.microedition.lcdui.Display$DisplayAccessor.commandAction(+152)
at com.sun.kvem.midp.lcdui.EmulEventHandler$EventLoop.run(+459)
Qualcuno sa come mai?