Pessoal espero que possam me ajudar.
Eu criei uma classe para rodar no J2ME, minhas variáveis de ambiente estão configuradas corretamente. Quando eu abro o programa da um erro:
[list]
java.lang.NullPointerException
at com.sun.midp.midlet.Selector.commandAction(+47)
at javax.microedition.lcdui.Display$DisplayAccessor.commandAction(+152)
at com.sun.kvem.midp.lcdui.EmulEventHandler$EventLoop.run(+459)
[/list]
Já estou há horas batendo a cabeça e não sei onde está acontecendo isso.
Segue o código:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class Calculadora extends MIDlet implements CommandListener {
private Display display;
private TextField txtValor;
private StringItem valor;
private Command btnSair;
private Command btnLimpar;
private Command btnAdicao;
private Form frmPrincipal;
public int resultado = 0;
public Calculadora()
{
frmPrincipal = new Form( "Calculadora" );
valor = new StringItem( "valor", "0" );
frmPrincipal.append( valor );
txtValor = new TextField( "Valor", "", 8, TextField.NUMERIC );
frmPrincipal.append( txtValor );
btnAdicao = new Command( "Adição", Command.SCREEN, 0 );
frmPrincipal.addCommand( btnAdicao );
frmPrincipal.setCommandListener( this );
btnSair = new Command( "Sair", Command.SCREEN, 1 );
frmPrincipal.addCommand( btnSair );
frmPrincipal.setCommandListener( this );
btnLimpar = new Command( "Limpar", Command.SCREEN, 2 );
frmPrincipal.addCommand( btnLimpar );
frmPrincipal.setCommandListener( this );
}
public void startApp()
{
display = Display.getDisplay(this);
display.setCurrent( frmPrincipal );
}
public void pauseApp()
{
}
public void destroyApp( boolean incondicional )
{
}
public void commandAction( Command cmd, Displayable s )
{
if ( cmd == btnSair ) {
destroyApp( false );
notifyDestroyed();
}
if ( cmd == btnLimpar ) {
txtValor.setString( "" );
}
if ( cmd == btnAdicao ) {
resultado = resultado + Integer.parseInt( txtValor.getString() );
valor.setText( resultado + "" );
}
}
}
Valeu 