Agenda Telefonica

5 respostas
L

Oi, estou fazendo uma agenda telefonica para estudar a criação de interface grafica pelo código.

Meu código é o seguinte:

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class TV extends JFrame {
	JLabel lb_Nome, lb_End, lb_Cep, lb_Num, lb_Complemento, lb_Telres,
			lb_TelCel, lb_TelCom, lb_fax;

	JTextField tf_Nome, tf_End, tf_Cep, tf_Num, tf_Complemento, tf_Telres,
			tf_TelCel, tf_TelCom, tf_fax;

	JButton bt_salvar, bt_fechar;

	public TV() {
		setTitle("Agenda Telefônica");
		setSize(800, 600);
		setDefaultCloseOperation(DISPOSE_ON_CLOSE);

		lb_Nome = new JLabel("Nome");
		lb_End = new JLabel("Endereço");
		lb_Cep = new JLabel("Cep");
		lb_Num = new JLabel("Num");
		lb_Complemento = new JLabel("Complemento");
		lb_Telres = new JLabel("Tel.Residencial");
		lb_TelCel = new JLabel("Tel.Celular");
		lb_TelCom = new JLabel("Tel.Comercial");
		// lb_fax = new JLabel("Fax");

		tf_Nome = new JTextField("");
		tf_End = new JTextField("");
		tf_Cep = new JTextField("");
		tf_Num = new JTextField("");
		tf_Complemento = new JTextField("");
		tf_Telres = new JTextField("");
		tf_TelCel = new JTextField("");
		tf_TelCom = new JTextField("");
		// tf_fax = new JTextField("");

		
		bt_fechar = new JButton("Fechar");
		bt_salvar = new JButton("Salvar");

		getContentPane().add(lb_Nome);
		getContentPane().add(lb_End);
		getContentPane().add(lb_Cep);
		getContentPane().add(lb_Num);
		getContentPane().add(lb_Complemento);
		getContentPane().add(lb_Telres);
		getContentPane().add(lb_TelCel);
		getContentPane().add(lb_TelCom);
		getContentPane().add(lb_fax);

		tf_Nome.setBounds(10, 40, 80, 25);
		lb_Nome.setBounds(20, 70, 100, 15);
		tf_End.setBounds(30, 40, 80, 25);
		lb_End.setBounds(40, 70, 100, 15);
		tf_Cep.setBounds(50, 40, 80, 25);
		lb_Cep.setBounds(60, 70, 100, 15);
		tf_Num.setBounds(70, 40, 80, 25);
		lb_Num.setBounds(80, 70, 100, 15);
		tf_Complemento.setBounds(90, 40, 80, 25);
		lb_Complemento.setBounds(120, 70, 100, 15);
		tf_Telres.setBounds(103, 40, 80, 25);
		lb_Telres.setBounds(105, 70, 100, 15);
		tf_TelCom.setBounds(304, 40, 80, 25);
		lb_TelCom.setBounds(209, 70, 100, 15);
		tf_fax.setBounds(203, 40, 80, 25);
		lb_fax.setBounds(506, 70, 100, 15);
		bt_salvar.setBounds(105, 340, 80, 30);
		bt_fechar.setBounds(190, 340, 80, 30);
	}

	public static void main(String args[]) {
		new TV().setVisible(true);

	}

}

esta aparecendo o seguinte erro:

Exception in thread "main" java.lang.NullPointerException
at java.awt.Container.addImpl(Unknown Source)
at java.awt.Container.add(Unknown Source)
at TV.(TV.java:52)
at TV.main(TV.java:73)

como sou iniciante em java não sei consertar esse error

Os numeros da posição estão meio embolados, pois ainda não ageitei.

Obrigado pela atenção !!!

5 Respostas

L

eu marquei como comentario onde esta o fax porque parece que tem algum erro ai

nel

Não verifiquei onde exatamente está seu erro, mas sobre a exceção NullPointerException, ela indica que alguma referência nula está tentando executar uma ação.
Exemplo:

String s = null; s.trim();

Verifique se algum objeto seu não foi instanciado corretamente e/ou não foi atribuído nenhum valor.
Abraços.

ps: dica, deve estar em uma destas linhas:

at TV.(TV.java:52)

at TV.main(TV.java:73)
nel

Ops, agora que eu vi o comentário em seu código.
Tu esqueceu de instanciar o label para o fax e o textfield para o fax também.

asousaj

Tirando os comentarios compila normal aqui.

nel

asousaj:
Tirando os comentarios compila normal aqui.

É verdade, eu vi com calma agora e ele instância corretamente. É ler em consideração a explicação que dei inicial e olhar corretamente o código. Estranho.

Criado 19 de julho de 2012
Ultima resposta 19 de jul. de 2012
Respostas 5
Participantes 3