NullPpointerexception socorro

5 respostas
G

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())

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("");
    
    }
    
}

por favor me ajudem >.<

5 Respostas

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.

P

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…

G

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.

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

S

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

Alguem tem alguma idéia?
Obrigado

G

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

Criado 16 de maio de 2011
Ultima resposta 16 de mai. de 2011
Respostas 5
Participantes 4