NullPpointerexception socorro

Olá pessoal estou começando a desenvolver para blackberry criei uma pequena tela de login porem esta dando erro eu e meus colegas não achamos o erro alguem por favor pode ajudar ?

O nullpointerexception acontece quando eu clico no botao limpar ou logar, ou seja ele não esta conseguindo acessar os campos no metodo construtor (public Tela())

[code]package pacote;

import net.rim.device.api.system.Bitmap;
import net.rim.device.api.ui.Field;
import net.rim.device.api.ui.FieldChangeListener;
import net.rim.device.api.ui.component.BitmapField;
import net.rim.device.api.ui.component.ButtonField;
import net.rim.device.api.ui.component.Dialog;
import net.rim.device.api.ui.component.EditField;
import net.rim.device.api.ui.component.LabelField;
import net.rim.device.api.ui.component.PasswordEditField;
import net.rim.device.api.ui.component.SeparatorField;
import net.rim.device.api.ui.container.HorizontalFieldManager;
import net.rim.device.api.ui.container.MainScreen;

public final class Tela extends MainScreen implements FieldChangeListener
{
//metodo de conferir botão selecionado
public void fieldChanged(Field field, int context) {
if (field == limparButton) {
limparCampos();
}
else if (field == logarButton) {
login();
}
}

//variaveis
BitmapField bitmapField;
EditField usuarioField;
PasswordEditField senhaField;
ButtonField limparButton;
ButtonField logarButton;

public Tela()
{          
	//adiciona logo mitis
	Bitmap logoBitmap = Bitmap.getBitmapResource("icon.png");
	bitmapField = new BitmapField(logoBitmap, Field.FIELD_HCENTER);
	add(bitmapField);
	add(new SeparatorField());
	
	//label login
	LabelField texto = new LabelField ("Login", LabelField.FIELD_HCENTER);
	add(texto);
	
	// criando botoes
	logarButton = new ButtonField("Entrar", ButtonField.CONSUME_CLICK);
	limparButton = new ButtonField("Limpar", ButtonField.CONSUME_CLICK);
	
	//organizando botoes horizontalmente
	HorizontalFieldManager buttonManager = new HorizontalFieldManager(Field.FIELD_HCENTER);
	buttonManager.add(logarButton);
	buttonManager.add(limparButton);
	
	//adiciona campos
	EditField usuarioField = new EditField("Usuario.: ", null);
	PasswordEditField senhaField = new PasswordEditField("Senha.: ", null);
	add(usuarioField);
	add(senhaField);
	add(new SeparatorField());
	//adiciona botoes
	add(buttonManager);
	
	logarButton.setChangeListener(this);
	limparButton.setChangeListener(this);
	//Titulo
    //setTitle("Titulo");
}
	   // metodo de login
private void login() {
	if (usuarioField.getTextLength() == 0 || senhaField.getTextLength() == 0) {
		Dialog.alert("Entre com o usuario e senha !");
	} else {
		Dialog.alert("teste");
	}
	
}
// metodo de limpar campos
private void limparCampos(){
	usuarioField.setText("");
	senhaField.setText("");

}

}
[/code]

por favor me ajudem >.<

No construtor, você está declarando uma variável local, com o mesmo nome da sua propriedade:

Toque:

Por:

E faça isso para os demais campos.

Ah, e evite termos como “socorro”, “ajuda”, “help please”, no título dos seus tópicos.

o erro provavelmente está vindo daqui

Antes de verificar o tamanho, verifique se está nulo…

E volte ao capitulo do livro que ensina a diferença entre atributos/variáveis de método e de classe…

[quote=ViniGodoy]No construtor, você está declarando uma variável local, com o mesmo nome da sua propriedade:

Toque:

Por:

E faça isso para os demais campos.

Ah, e evite termos como “socorro”, “ajuda”, “help please”, no título dos seus tópicos.[/quote]

Nossa muito obrigado mesmo e desculpe pelo titulo do tópico :oops:

gabriel.ggt
Para fazer essa tela de login, como fica em J2Me??

Alguem tem alguma idéia?
Obrigado

rapaz vc tem q ver as api’s do j2me eu não me lembro de cabeça

recomento as video aulas do professor neri neitzke são excelentes pra quem ta iniciando ou quer aprender mais.

Att Gabriel Miranda