Salve,
Estou começando a aprender o j2me. Instalei o j2me_wireless_toolkit-2_1_01 no linux e defini as seguintes variáveis:
J2ME_HOME=/home/arnaldo/java/j2me/WTK2.1
MIDPAPI=$J2ME_HOME/lib/midpapi10.jar
J2MECLASSPATH=$J2ME_HOME/wtklib/kenv.zip:$J2ME_HOME/wtklib/kvem.jar:$J2ME_HOME/wtklib/lime.jar
CLASSPATH=.:$CLASSPATH
PATH=$PATH:$JAVA_HOME/bin:$J2ME_HOME/bin
export CLASSPATH MIDPAPI J2MECLASSPATH
Como primeiro programa, peguei o seguinte exemplo de um livro:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class HelloMidlet extends MIDlet {
private Display display;
TextBox box = null;
public HelloMidlet() {
}
public void startApp() {
display = Display.getDisplay(this);
box = new TextBox("Simple Example", "Hello World", 20, 0);
display.setCurrent(box);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
}
Quando tentei compilar com a linha
javac -g:none -d tmpclasses -bootclasspath $MIDPAPI -classpath $J2MECLASSPATH HelloMidlet.java
surgiram dois erros inesperados:
HelloMidlet.java:4: cannot access java.lang.Object
file java/lang/Object.class not found
public class HelloMidlet extends MIDlet {
HelloMidlet.java:12: cannot resolve symbol
symbol : variable this
location: class HelloMidlet
display = Display.getDisplay(this);
2 errors
O que me deixa confuso é que eu testei dois programinhas de j2se que compilaram e rodaram sem problemas (um com System.out.println e outro que gera uma janela JOptionPane.showMessageDialog). Em programas j2se anteriores também nunca havia acontecido de não acessar a classe java.lang.Object
Pessoal, desculpe o post meio longo, mas é que eu precisei colocar todas as informações que possam ser úteis.
Obrigado,
Arnaldo