Pessoal estou com um problema, estava tentando fazer uma agenda de telefones, porem ao pegar uma String de uma classe A para apresentar na B, ela fica NULL, se eu apresentar a String dentro da classe A, fica normal, mais se for dentro da classe B fica NULL.
Como podem ver ao clicar em GRAVAR na classe adicionar, ele pega os que esta dento do JTEXTFIELD e coloca nas variaveis, ai quando vou abrir esta variavel na classe agenda ela aparece NULL
entao sera que alguem poderia me ajudar a solucionar este problema, para que eu possa apresentar certo na classe agenda ?
package Agenda;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JRadioButton;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.JTextField;
public class Adicionar extends JFrame {
String nom, tel, end, sex;
JLabel t_nome, t_telefone, t_endereco, t_sexo;
JTextField nome, telefone, endereco;
JRadioButton sexo_m, sexo_f;
JButton gravar,voltar,sair;
public Adicionar() {
// TODO Auto-generated constructor stub
super("AGENDA");
getContentPane().setLayout(null);
CapturaEvento handler = new CapturaEvento();
t_nome = new JLabel("Nome: ");
t_nome.setBounds(20,20,100,15);
nome = new JTextField();
nome.setBounds(20,40,300,25);
t_telefone = new JLabel("Telefone: ");
t_telefone.setBounds(20,80,100,15);
telefone = new JTextField();
telefone.setBounds(20,100,300,25);
t_endereco = new JLabel("Endereço: ");
t_endereco.setBounds(20,140,100,15);
endereco = new JTextField();
endereco.setBounds(20,160,300,25);
t_sexo = new JLabel("Sexo: ");
t_sexo.setBounds(20,200,100,25);
sexo_m = new JRadioButton("Masculino");
sexo_m.setBounds(20,220,300,25);
sexo_m.setToolTipText("Marque para sexo MASCULINO");
sexo_m.addActionListener(handler);
sexo_f = new JRadioButton("Feminino");
sexo_f.setBounds(20,240,300,25);
gravar = new JButton("GRAVAR");
gravar.setBounds(20,280,100,25);
gravar.setToolTipText("Clique aqui para GRAVAR");
gravar.addActionListener(handler);//registro do evento
voltar = new JButton("VOLTAR");
voltar.setBounds(120,280,100,25);
voltar.setToolTipText("Clique aqui para VOLTAR");
voltar.addActionListener(handler);//registro do evento
sair = new JButton("SAIR");
sair.setBounds(220,280,100,25);
sair.setToolTipText("Clique aqui para SAIR");
sair.addActionListener(handler);//registro do evento
add(sexo_m);add(sexo_f);add(t_endereco);add(t_nome);add(t_sexo);add(t_telefone);
add(nome);add(telefone);add(endereco);add(gravar);add(voltar);add(sair);
}
private class CapturaEvento extends KeyAdapter implements ActionListener{
//método que trata o evento dos botoes
public void actionPerformed(ActionEvent e) {
Codigos c = new Codigos();
if(e.getSource() == sair){
System.exit(0);
}
if(e.getSource() == voltar){
c.agenda(0);
setVisible(false);
}
if(e.getSource() == gravar){
if(sexo_f.isSelected() == true){
sex = "FEMININO";
}else{
sex = "MASCULINO";
}
/*guardo as Strings nessas variaveis */
nom = nome.getText().toUpperCase();
tel = telefone.getText().toUpperCase();
end = endereco.getText().toUpperCase();
System.out.print("Nome: " + nom + "\n");
System.out.print("Tel: " + tel + "\n");
System.out.print("End: " + end + "\n");
System.out.print("Sexo: " + sex + "\n");
c.agenda(1);
setVisible(false);
}
}
}
}
package Agenda;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JTextPane;
import javax.swing.ScrollPaneConstants;
public class Agenda extends JFrame {
Adicionar a = new Adicionar();
Codigos c = new Codigos();
JLabel bem_vindo , agenda;
JButton adicionar , pesquisar , excluir , sair, limpar_tela , exibir_todos ;
//JTextField visor;
JTextArea visor;
JScrollPane visor_2;
public Agenda(int trava){
super("AGENDA");
getContentPane().setLayout(null);
CapturaEvento handler = new CapturaEvento();
bem_vindo = new JLabel("BEM VINDO");
bem_vindo.setBounds(50,10, 150, 30);
bem_vindo.setFont(new Font("Arial", Font.BOLD, 20));
agenda = new JLabel("Agenda");
agenda.setBounds(50,50, 150, 30);
agenda.setFont(new Font("Arial", Font.BOLD, 15));
adicionar = new JButton("Adicionar");
adicionar.setBounds(50,100, 100, 30);
adicionar.addActionListener(handler);//registro do evento
pesquisar = new JButton("Pesquisar");
pesquisar.setBounds(190,100, 100, 30);
exibir_todos = new JButton("Contatos");
exibir_todos.setBounds(330,100, 100, 30);
excluir = new JButton("Excluir");
excluir.setBounds(470,100, 100, 30);
excluir.setToolTipText("Clique aqui para EXCLUIR");
excluir.addActionListener(handler);//registro do evento
limpar_tela = new JButton("Limpar Tela");
limpar_tela.setBounds(50,410, 130, 30);
limpar_tela.setToolTipText("Clique aqui para limpar a Tela");
limpar_tela.addActionListener(handler);//registro do evento
sair = new JButton("Sair");
sair.setBounds(470,410, 100, 30);
sair.setToolTipText("Clique aqui para SAIR");
sair.addActionListener(handler);//registro do evento
visor = new JTextArea();
//visor.setBounds(100,150, 420, 250);
//visor.setEditable(false);
visor_2 = new JScrollPane(visor);
//visor_2.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
visor_2.setBounds(50,150, 520, 250);
//visor_2.setToolTipText(visor)
//visor_2.setEditable(false);
add(adicionar); add(pesquisar); add(excluir); add(sair); add(bem_vindo); add(agenda); //add(visor);
add(limpar_tela); add(exibir_todos);add(visor_2);
/*a classe adicionar retorna 1 para o construtor entao ele cai nesse if para apresentar
porem ao apresentar no campo as variaveis aparecem NULL*/
if(trava == 1){
visor.setText("Nome: " + a.nom +
"\nTel: " + a.tel +
"\nEnd: " + a.end +
"\nSexo: " + a.sex
);
}
}
private class CapturaEvento extends KeyAdapter implements ActionListener{
//método que trata o evento dos botoes
public void actionPerformed(ActionEvent e) {
if(e.getSource() == sair){
System.exit(0);
}
if(e.getSource() == limpar_tela){
String add = "";
visor.setText(add);
}
if(e.getSource() == adicionar){
c.adicionar();
setVisible(false);
}
if(e.getSource() == excluir){
String add = "TESTE \n";
visor.setText(visor.getText() + add);
}
}
}
}
package Agenda;
import java.awt.Color;
import javax.swing.JFrame;
public class Codigos {
public void agenda(int trava){
Agenda a = new Agenda(trava);
a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
a.pack();
a.setLocationRelativeTo(null); //posiciona a janela
a.setResizable(false); //a janela não pode ser redimensionada
a.setBackground(Color.gray); // cor de fundo da janela
a.setSize(640,480); //dimensao da janela
a.setVisible(true); //torna a janela visível
}
void login(){
Login l = new Login();
l.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
l.setLocationRelativeTo(null); //posiciona a janela
l.setResizable(false); //a janela não pode ser redimensionada
l.setBackground(Color.gray); // cor de fundo da janela
l.setSize(280,180); //dimensao da janela
l.setVisible(true);
}
void adicionar(){
Adicionar a = new Adicionar();
a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
a.setLocationRelativeTo(null); //posiciona a janela
a.setResizable(false); //a janela não pode ser redimensionada
a.setBackground(Color.gray); // cor de fundo da janela
a.setSize(340,350); //dimensao da janela
a.setVisible(true); //torna a janela visível
}
}