Estou desenvolvendo um sistema de cadastro de alunos. Adicionei um botão “Salvar” que captura as informações
dos campos e lança numa tabela. Porém quando aciono este salvar ele executa duas vezes a função programada. Salva os campos cadastrados e depois salva os campos vazios. Não entendo por que. Estou utilizando no evento,
o setActionCommand. Já tentei o actionListener, mas deu o mesmo problema.
Poste o seu código…
Ta aqui o código resumido
[code]//Classe que configura meus botoes
public void ConfiguraJButtons(JButton botao, String TipText, int Mnemonic,
JPanel painel, Color cor, String comand){
botao.setToolTipText(TipText);
botao.setMnemonic(Mnemonic);
botao.addActionListener(this);
botao.setForeground(cor);
botao.setActionCommand(comand);
painel.add(botao);
}
// classe que cria e adiciona os botoes, perceba que eu uso o actionCommand , passando uma string de //referencia
public void ConfigBotoesBarraSul(){
pAcoes.setLayout(new GridLayout(1, 7, 5, 5));
ConfiguraJButtons(bNovo, "Novo", KeyEvent.VK_N, pAcoes, Color.BLACK, "New");
ConfiguraJButtons(bSalvar, "Salvar", KeyEvent.VK_S, pAcoes, Color.BLUE, "Save");
ConfiguraJButtons(bAlterar, "Alterar", KeyEvent.VK_A, pAcoes, Color.BLACK, "Edit");
ConfiguraJButtons(bCancelar, "Cancelar", KeyEvent.VK_C, pAcoes,Color.RED, "Abort");
ConfiguraJButtons(bExcluir, "Excluir", KeyEvent.VK_E, pAcoes,Color.BLACK, "Erase");
ConfiguraJButtons(bLocalizar, "Buscar", KeyEvent.VK_L, pAcoes, Color.BLUE, "Search");
}
//tratando os eventos
public void actionPerformed(ActionEvent e) {
String comando = e.getActionCommand();
if ((e.getSource() == bNovo) || (comando.equals("New"))){
DesHabCampos(true);
EsvaziaCampos();
HabDesBotoesOperacao(true);
DesHabNovo(false);
DesHabLocalizar(false);
DesHabAlterar(false);
DesHabExcluir(false);
}
if (comando.equals("Save")){
JOptionPane.showMessageDialog(null, "Cadastro salvo com sucesso!");
DesHabCampos(false);
DesHabSalvar(false);
DesHabCancelar(false);
DesHabNovo(true);
capturaCampos();
adicionaLinha(nome, dia, mês, ano, sexo, bairro, tel, cel, escola, grau);
EsvaziaCampos();
}
}
}[/code]
Eu utilizo o eclipse 3.2.1, quando vou debugar, percebo que o if de cada evento executa duas vezes, quando clico em seu botão correspondente.
Cara,
Muito estranho. Só por esse seu código, não dá pra saber…em vez de implementar o método ActionListener, faz uma innerclasse para cada botão, e testa:
botao.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
////coloque seu código aqui..
}
});
Verifica se assim funciona.
Fernando Rosa
amigo,
fiz o que voce me pediu e o problema continua…
sempre que clico em um dos botoes da interface, o IF correspondente do meu actionperformed executa 2 vezes
mas aqui…
será talvez porque minha classe seja extendida de JPanel? se ela fosse extends JFrame daria certo?
sei que é meio bobo, mas é que já tentei de tudo e continua com o mesmo problema.
nem aqui no forum encontrei resposta, algo deve estar completamente errado em meu código.
o que será?
Cara…
Sem o seu código completo, não tem como saber… tah estranho isso. Se tiver como postar o código enteiro, coloca aí pra ver se consigo visualizar algum problema.
Fernando Rosa
Fernando antes de mais nada, obrigado por tentar me ajudar. O código é bem extenso, mas acho que dá pra entender. Lembre-se que uso o Eclipse. Para rodar utilize a classe Principal. Para testar clique em Novo e escreve uma informação no JTextField Nome, depois clique em Salvar e vc verá que aparece um JOptionPane 2 vezes, que é o meu problema.
package spring;
import javax.swing.*;
import javax.swing.text.*;
import javax.swing.table.*;
import java.awt.*;
import java.awt.event.*;
public class InterfaceGrafica extends JPanel implements ActionListener{
private JPanel pIdentificacao, pEndereco, pIdentEscolar, pAcoes, pDadosCID;
private JLabel jlNome, jlPai, jlMae, jlDataNasc, jlIdade, jlSexo, jlIdentidade, jlCPF, jlLivro,
jlFolha, jlAssentoOrdem, jlRua, jlBairro, jlNumero, jlComplemento, jlCidade, jlUF, jlCEP,
jlTel, jlCel, jlEscola, jlEndereco, jlTelEscola, jlBairroEscola, jlGrau, jlturno, jlEstadoCivil,
jlJaFezCurso, jlSituacao, jlTamanhoUniforme, jlHorario, jlDias, jlSeSim, jlPCcasa, jlCursos;
private JTextField jtfNome, jtfPai, jtfMae, jtfIdentidade, jtfLivro, jtfFolha,
jtfAssentoOrdem, jtfRua, jtfNumero, jtfBairro, jtfComplemento, jtfEscola,
jtfEndereco, jtfBairroEscola, jtfSituacao, jtfHorario, jtfSeSim;
private JFormattedTextField jftfCPF, jftfCEP, jftfTel, jftfCel, jftfTelEscola;
private JComboBox cbUF, cbGrau, cbTurno, cbEstadoCivil, cbTamanho, cbDia, cbMes, cbAno, cbIdade;
private JRadioButton jrbMasc, jrbFem, jrbSim, jrbNao, jrbYes, jrbNot;
private ButtonGroup grupoSexo, grupoLeigo, grupoPccasa;
private JCheckBox jcbSeg, jcbTer, jcbQua, jcbQui, jcbSex, jcbDig, jcbWin,
jcbWor, jcbExc, jcbPow, jcbInt, jcbPho;
private GridBagConstraints prop;
private JButton bNovo, bSalvar, bCancelar, bExcluir, bLocalizar, bAlterar;
// Adicionando Abas
private JTabbedPane painelTabulado;
private JPanel painelAbaCadastro, painelAbaTabela;
private JTable tabela;
private DefaultTableModel modeloTabela;
private String colunas[], dados[][];
private int linha;
private JScrollPane barraRolagem, barrahorizontal;
private String nome, dia, mês, ano, estadoCivil, pai, identidade, sexo,
jaFezCurso, mãe, CPF, livro, folha, assentoOrdem, seSim, rua, numero, bairro,
complemento, tel, cel, escola, endereço, telEscola, bairroEscola, grau,
turno, situaçao, tamanho, horario, diaSeg = "", diaTer = "", diaQua = "",
diaQui = "", diaSex = "";
public InterfaceGrafica(){
setLayout(new BorderLayout());
InstanciaComponentes();
ConfigBotoesBarraSul();
ConfigPaineldentificacao();
ConfigPainelEndereco();
ConfigPainelIdentEscolar();
ConfigPainelDadosCID();
ConfigBotoesBarraSul();
configuraTabela();
painelAbaCadastro.add(pIdentificacao, BorderLayout.NORTH);
painelAbaCadastro.add(pEndereco, BorderLayout.CENTER);
painelAbaCadastro.add(pIdentEscolar, BorderLayout.CENTER);
painelAbaCadastro.add(pDadosCID, BorderLayout.SOUTH);
painelAbaCadastro.add(pAcoes, BorderLayout.SOUTH);
painelTabulado.add(painelAbaCadastro);
painelTabulado.add(painelAbaTabela);
painelAbaTabela.add(barraRolagem, BorderLayout.CENTER);
add(painelTabulado, BorderLayout.CENTER);
DesHabCampos(false);
}
public void InstanciaComponentes(){
pIdentificacao = new JPanel(new GridBagLayout());
pEndereco = new JPanel(new GridBagLayout());
pIdentEscolar = new JPanel(new GridBagLayout());
pAcoes = new JPanel(new GridLayout(1, 7, 5, 5));
pDadosCID = new JPanel(new GridBagLayout());
prop = new GridBagConstraints();
jlNome = new JLabel("Nome");
jlPai = new JLabel("Pai");
jlMae = new JLabel("Mãe");
jlDataNasc = new JLabel("Data Nasc.");
jlSexo = new JLabel("Sexo");
jlIdentidade = new JLabel("Identidade");
jlCPF = new JLabel("CPF");
jlLivro = new JLabel("Livro");
jlFolha = new JLabel("Folha");
jlAssentoOrdem = new JLabel("Assento/Ordem");
jlRua = new JLabel("Rua");
jlBairro = new JLabel("Bairro");
jlNumero = new JLabel("Nº:");
jlComplemento = new JLabel("Complemento");
jlCidade = new JLabel("Cidade");
jlUF = new JLabel("UF");
jlCEP = new JLabel("CEP");
jlTel = new JLabel("Telefone");
jlCel = new JLabel("Celular");
jlEscola = new JLabel("Escola");
jlEndereco = new JLabel("Endereço");
jlTelEscola = new JLabel("Telefone");
jlBairroEscola = new JLabel("Bairro");
jlGrau = new JLabel("Escolaridade");
jlturno = new JLabel("Turno");
jlEstadoCivil = new JLabel("Estado Civil");
jlJaFezCurso = new JLabel("Já fez Curso?");
jlSituacao = new JLabel("Situação Escolar");
jlTamanhoUniforme = new JLabel("Tamanho Uniforme");
jlHorario = new JLabel("Horário");
jlDias = new JLabel("Dias");
jlSeSim = new JLabel("Se Sim. Qual?");
jlPCcasa = new JLabel("Possui CPU?");
jlCursos = new JLabel("Cursos realizados");
jtfNome = new JTextField(20);
jtfPai = new JTextField(20);
jtfMae = new JTextField(20);
jtfIdentidade = new JTextField(8);
jtfLivro = new JTextField(5);
jtfFolha = new JTextField(5);
jtfAssentoOrdem = new JTextField(7);
jtfRua = new JTextField(15);
jtfNumero = new JTextField(5);
jtfBairro = new JTextField(20);
jtfComplemento = new JTextField(7);
jtfEscola = new JTextField(20);
jtfEndereco = new JTextField(15);
jtfBairroEscola = new JTextField(12);
jtfSituacao = new JTextField(7);
jtfHorario = new JTextField(7);
jtfSeSim = new JTextField(7);
try{
MaskFormatter formatoCPF = new MaskFormatter("###.###.###-##");
formatoCPF.setPlaceholderCharacter('_');
jftfCPF = new JFormattedTextField(formatoCPF);
jftfCPF.setColumns(8);
MaskFormatter formatoTel = new MaskFormatter("(##)####-####");
formatoCPF.setPlaceholderCharacter('_');
jftfTel = new JFormattedTextField(formatoTel);
jftfTelEscola = new JFormattedTextField(formatoTel);
jftfCel = new JFormattedTextField(formatoTel);
jftfTel.setColumns(8);
jftfTelEscola.setColumns(8);
jftfCel.setColumns(8);
}
catch (java.text.ParseException exc){};
cbGrau = new JComboBox();
cbGrau.addItem("");
cbGrau.addItem("5ª série");
cbGrau.addItem("6ª série");
cbGrau.addItem("7ª série");
cbGrau.addItem("8ª série");
cbGrau.addItem("1º ano");
cbGrau.addItem("2º ano");
cbGrau.addItem("3º ano");
cbTurno = new JComboBox();
cbTurno.addItem("");
cbTurno.addItem("Matutino");
cbTurno.addItem("Vespertino");
cbTurno.addItem("Noturno");
cbEstadoCivil = new JComboBox();
cbEstadoCivil.addItem("Solteiro(a)");
cbEstadoCivil.addItem("Casado(a)");
cbEstadoCivil.addItem("Viúvo(a)");
cbEstadoCivil.addItem("Separado(a)");
cbEstadoCivil.addItem("Divorciado(a)");
cbTamanho = new JComboBox();
cbTamanho.addItem("");
cbTamanho.addItem("PP");
cbTamanho.addItem("P");
cbTamanho.addItem("M");
cbTamanho.addItem("G");
cbTamanho.addItem("GG");
cbDia = new JComboBox();
cbDia.addItem("01"); cbDia.addItem("02"); cbDia.addItem("03");
cbDia.addItem("04"); cbDia.addItem("05"); cbDia.addItem("06");
cbDia.addItem("07"); cbDia.addItem("08"); cbDia.addItem("09");
cbDia.addItem("10"); cbDia.addItem("11"); cbDia.addItem("12");
cbDia.addItem("13"); cbDia.addItem("14"); cbDia.addItem("15");
cbDia.addItem("16"); cbDia.addItem("17"); cbDia.addItem("18");
cbDia.addItem("19"); cbDia.addItem("20"); cbDia.addItem("21");
cbDia.addItem("22"); cbDia.addItem("23"); cbDia.addItem("24");
cbDia.addItem("25"); cbDia.addItem("26"); cbDia.addItem("27");
cbDia.addItem("28"); cbDia.addItem("29"); cbDia.addItem("30");
cbDia.addItem("31");
cbMes = new JComboBox();
cbMes.addItem("Jan"); cbMes.addItem("Fev"); cbMes.addItem("Mar");
cbMes.addItem("Abr"); cbMes.addItem("Mai"); cbMes.addItem("Jun");
cbMes.addItem("Jul"); cbMes.addItem("Ago"); cbMes.addItem("Set");
cbMes.addItem("Out"); cbMes.addItem("Nov"); cbMes.addItem("Dez");
cbAno = new JComboBox();
cbAno.addItem("1918"); cbAno.addItem("1919"); cbAno.addItem("1920");
cbAno.addItem("1921"); cbAno.addItem("1922"); cbAno.addItem("1923");
cbAno.addItem("1924"); cbAno.addItem("1925"); cbAno.addItem("1926");
cbAno.addItem("1927"); cbAno.addItem("1928"); cbAno.addItem("1929");
cbAno.addItem("1930"); cbAno.addItem("1931"); cbAno.addItem("1932");
cbAno.addItem("1933"); cbAno.addItem("1934"); cbAno.addItem("1935");
cbAno.addItem("1936"); cbAno.addItem("1937"); cbAno.addItem("1938");
cbAno.addItem("1939"); cbAno.addItem("1940"); cbAno.addItem("1941");
cbAno.addItem("1942"); cbAno.addItem("1943"); cbAno.addItem("1944");
cbAno.addItem("1945"); cbAno.addItem("1946"); cbAno.addItem("1947");
cbAno.addItem("1948"); cbAno.addItem("1949"); cbAno.addItem("1950");
cbAno.addItem("1951"); cbAno.addItem("1952"); cbAno.addItem("1953");
cbAno.addItem("1954"); cbAno.addItem("1955"); cbAno.addItem("1956");
cbAno.addItem("1957"); cbAno.addItem("1958"); cbAno.addItem("1959");
cbAno.addItem("1960"); cbAno.addItem("1961"); cbAno.addItem("1962");
cbAno.addItem("1963"); cbAno.addItem("1964"); cbAno.addItem("1965");
cbAno.addItem("1966"); cbAno.addItem("1967"); cbAno.addItem("1968");
cbAno.addItem("1969"); cbAno.addItem("1970"); cbAno.addItem("1971");
cbAno.addItem("1972"); cbAno.addItem("1973"); cbAno.addItem("1974");
cbAno.addItem("1975"); cbAno.addItem("1976"); cbAno.addItem("1977");
cbAno.addItem("1978"); cbAno.addItem("1979"); cbAno.addItem("1980");
cbAno.addItem("1981"); cbAno.addItem("1982"); cbAno.addItem("1983");
cbAno.addItem("1984"); cbAno.addItem("1985"); cbAno.addItem("1986");
cbAno.addItem("1987"); cbAno.addItem("1988"); cbAno.addItem("1989");
cbAno.addItem("1990"); cbAno.addItem("1991"); cbAno.addItem("1992");
cbAno.addItem("1993"); cbAno.addItem("1994"); cbAno.addItem("1995");
cbAno.addItem("1996"); cbAno.addItem("1997"); cbAno.addItem("1998");
cbAno.addItem("1999"); cbAno.addItem("2000");
jrbMasc = new JRadioButton("Masculino");
jrbFem = new JRadioButton("Feminino");
jrbSim = new JRadioButton("Sim");
jrbNao = new JRadioButton("Não");
jrbYes = new JRadioButton("Sim");
jrbNot = new JRadioButton("Não");
grupoSexo = new ButtonGroup();
grupoSexo.add(jrbMasc);
grupoSexo.add(jrbFem);
grupoLeigo = new ButtonGroup();
grupoLeigo.add(jrbSim);
grupoLeigo.add(jrbNao);
grupoPccasa = new ButtonGroup();
grupoPccasa.add(jrbYes);
grupoPccasa.add(jrbNot);
jcbSeg = new JCheckBox("Segunda");
jcbTer = new JCheckBox("Terça");
jcbQua = new JCheckBox("Quarta");
jcbQui = new JCheckBox("Quinta");
jcbSex = new JCheckBox("Sexta");
jcbDig = new JCheckBox("Digitação");
jcbWin = new JCheckBox("Windows XP");
jcbWor = new JCheckBox("Word");
jcbExc = new JCheckBox("Excel");
jcbPow = new JCheckBox("PowerPoint");
jcbInt = new JCheckBox("Internet");
jcbPho = new JCheckBox("Photoshop");
bNovo = new JButton("Novo");
bSalvar = new JButton("Salvar");
bCancelar = new JButton("Cancelar");
bExcluir = new JButton("Excluir");
bLocalizar = new JButton("Localizar");
bAlterar = new JButton("Alterar");
painelTabulado = new JTabbedPane();
painelAbaCadastro = new JPanel(new FlowLayout());
painelAbaTabela = new JPanel(new BorderLayout());
painelAbaCadastro.setName("Cadastro");
painelAbaTabela.setName("Visualização");
}
public void ConfiguraJButtons(JButton botao, String TipText, int Mnemonic, JPanel painel, Color cor){
botao.setToolTipText(TipText);
botao.setMnemonic(Mnemonic);
botao.setForeground(cor);
botao.addActionListener(this);
painel.add(botao);
}
public void ConfigBotoesBarraSul(){
ConfiguraJButtons(bNovo, "Novo", KeyEvent.VK_N, pAcoes, Color.BLACK);
ConfiguraJButtons(bSalvar, "Salvar", KeyEvent.VK_S, pAcoes, Color.BLUE);
ConfiguraJButtons(bAlterar, "Alterar", KeyEvent.VK_A, pAcoes, Color.BLACK);
ConfiguraJButtons(bCancelar, "Cancelar", KeyEvent.VK_C, pAcoes,Color.RED);
ConfiguraJButtons(bExcluir, "Excluir", KeyEvent.VK_E, pAcoes,Color.BLACK);
ConfiguraJButtons(bLocalizar, "Buscar", KeyEvent.VK_L, pAcoes, Color.BLUE);
}
public void ConfiguraComp(int x, int y, int gw, int gh, int fill,
int anchor, int wx, int wy, int insets, Component comp, JPanel painel){
prop.gridx = x;
prop.gridy = y;
prop.gridwidth = gw;
prop.gridheight = gh;
prop.fill = fill;
prop.anchor = anchor;
prop.weightx = wx;
prop.weighty = wy;
prop.insets = new Insets(insets, insets, insets, insets);
((GridBagLayout)(painel.getLayout())).setConstraints(comp, prop);
painel.add(comp);
}
public void ConfigPaineldentificacao(){
pIdentificacao.setBorder(BorderFactory.createTitledBorder(
BorderFactory.createEtchedBorder(), "Identificação do Aluno"));
ConfiguraComp(0, 0, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.EAST, 10, 10, 5, jlNome, pIdentificacao);
ConfiguraComp(1, 0, 3, 1, GridBagConstraints.HORIZONTAL,
GridBagConstraints.WEST, 10, 10, 5, jtfNome, pIdentificacao);
ConfiguraComp(4, 0, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.EAST, 10, 10, 5, jlDataNasc, pIdentificacao);
// -----------------------------------------------
ConfiguraComp(5, 0, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, cbDia, pIdentificacao);
ConfiguraComp(5, 0, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.EAST, 10, 10, 5, cbMes, pIdentificacao);
ConfiguraComp(6, 0, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, cbAno, pIdentificacao);
ConfiguraComp(7, 0, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.EAST, 10, 10, 5, jlEstadoCivil, pIdentificacao);
ConfiguraComp(8, 0, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, cbEstadoCivil, pIdentificacao);
ConfiguraComp(0, 1, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.EAST, 10, 10, 5, jlPai, pIdentificacao);
ConfiguraComp(1, 1, 3, 1, GridBagConstraints.HORIZONTAL,
GridBagConstraints.WEST, 10, 10, 5, jtfPai, pIdentificacao);
ConfiguraComp(4, 1, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.EAST, 10, 10, 5, jlIdentidade, pIdentificacao);
ConfiguraComp(5, 1, 1, 1, GridBagConstraints.HORIZONTAL,
GridBagConstraints.WEST, 10, 10, 5, jtfIdentidade, pIdentificacao);
ConfiguraComp(6, 1, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.EAST, 10, 10, 5, jlSexo, pIdentificacao);
ConfiguraComp(7, 1, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, jrbMasc, pIdentificacao);
ConfiguraComp(7, 2, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, jrbFem, pIdentificacao);
ConfiguraComp(8, 1, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.EAST, 10, 10, 5, jlJaFezCurso, pIdentificacao);
ConfiguraComp(9, 1, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, jrbSim, pIdentificacao);
ConfiguraComp(9, 2, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, jrbNao, pIdentificacao);
ConfiguraComp(0, 2, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.EAST, 10, 10, 5, jlMae, pIdentificacao);
ConfiguraComp(1, 2, 3, 1, GridBagConstraints.HORIZONTAL,
GridBagConstraints.WEST, 10, 10, 5, jtfMae, pIdentificacao);
ConfiguraComp(4, 2, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.EAST, 10, 10, 5, jlCPF, pIdentificacao);
ConfiguraComp(5, 2, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, jftfCPF, pIdentificacao);
ConfiguraComp(8, 3, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.EAST, 10, 10, 5, jlSeSim, pIdentificacao);
ConfiguraComp(9, 3, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, jtfSeSim, pIdentificacao);
ConfiguraComp(0, 3, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.EAST, 10, 10, 5, jlLivro, pIdentificacao);
ConfiguraComp(1, 3, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, jtfLivro, pIdentificacao);
ConfiguraComp(2, 3, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.EAST, 10, 10, 5, jlFolha, pIdentificacao);
ConfiguraComp(3, 3, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, jtfFolha, pIdentificacao);
ConfiguraComp(4, 3, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.EAST, 10, 10, 5, jlAssentoOrdem, pIdentificacao);
ConfiguraComp(5, 3, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, jtfAssentoOrdem, pIdentificacao);
}
public void ConfigPainelEndereco(){
pEndereco.setBorder(BorderFactory.createTitledBorder(
BorderFactory.createEtchedBorder(), "Endereço"));
ConfiguraComp(0, 0, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.EAST, 10, 10, 5, jlRua, pEndereco);
ConfiguraComp(1, 0, 2, 1, GridBagConstraints.HORIZONTAL,
GridBagConstraints.WEST, 10, 10, 5, jtfRua, pEndereco);
ConfiguraComp(3, 0, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.EAST, 10, 10, 5, jlNumero, pEndereco);
ConfiguraComp(4, 0, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, jtfNumero, pEndereco);
ConfiguraComp(5, 0, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.EAST, 10, 10, 5, jlBairro, pEndereco);
ConfiguraComp(6, 0, 2, 1, GridBagConstraints.HORIZONTAL,
GridBagConstraints.WEST, 10, 10, 5, jtfBairro, pEndereco);
ConfiguraComp(8, 0, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.EAST, 10, 10, 5, jlComplemento, pEndereco);
ConfiguraComp(9, 0, 1, 1, GridBagConstraints.HORIZONTAL,
GridBagConstraints.WEST, 10, 10, 5, jtfComplemento, pEndereco);
ConfiguraComp(0, 1, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, jlTel, pEndereco);
ConfiguraComp(1, 1, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, jftfTel, pEndereco);
ConfiguraComp(3, 1, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.EAST, 10, 10, 5, jlCel, pEndereco);
ConfiguraComp(4, 1, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, jftfCel, pEndereco);
}
public void ConfigPainelIdentEscolar(){
pIdentEscolar.setBorder(BorderFactory.createTitledBorder(
BorderFactory.createEtchedBorder(), "Identificação Escolar"));
ConfiguraComp(0, 0, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.EAST, 10, 10, 5, jlEscola, pIdentEscolar);
ConfiguraComp(1, 0, 3, 1, GridBagConstraints.HORIZONTAL,
GridBagConstraints.WEST, 10, 10, 5, jtfEscola, pIdentEscolar);
ConfiguraComp(4, 0, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.EAST, 10, 10, 5, jlEndereco, pIdentEscolar);
ConfiguraComp(5, 0, 2, 1, GridBagConstraints.HORIZONTAL,
GridBagConstraints.WEST, 10, 10, 5, jtfEndereco, pIdentEscolar);
ConfiguraComp(7, 0, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.EAST, 10, 10, 5, jlTelEscola, pIdentEscolar);
ConfiguraComp(8, 0, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, jftfTelEscola, pIdentEscolar);
ConfiguraComp(0, 1, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.EAST, 10, 10, 5, jlBairroEscola, pIdentEscolar);
ConfiguraComp(1, 1, 3, 1, GridBagConstraints.HORIZONTAL,
GridBagConstraints.WEST, 10, 10, 5, jtfBairroEscola, pIdentEscolar);
ConfiguraComp(4, 1, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.EAST, 10, 10, 5, jlGrau, pIdentEscolar);
ConfiguraComp(5, 1, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, cbGrau, pIdentEscolar);
ConfiguraComp(6, 1, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.EAST, 10, 10, 5, jlturno, pIdentEscolar);
ConfiguraComp(7, 1, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, cbTurno, pIdentEscolar);
ConfiguraComp(8, 1, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.EAST, 10, 10, 5, jlSituacao, pIdentEscolar);
ConfiguraComp(9, 1, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, jtfSituacao, pIdentEscolar);
}
public void ConfigPainelDadosCID(){
pDadosCID.setBorder(BorderFactory.createTitledBorder(
BorderFactory.createEtchedBorder(), "Dados CID"));
ConfiguraComp(0 ,0 , 1, 1, GridBagConstraints.NONE,
GridBagConstraints.EAST, 10, 10, 5, jlTamanhoUniforme, pDadosCID);
ConfiguraComp(1, 0, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, cbTamanho, pDadosCID);
ConfiguraComp(2,0, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.EAST, 10, 10, 5, jlHorario, pDadosCID);
ConfiguraComp(3, 0, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, jtfHorario, pDadosCID);
ConfiguraComp(4,0, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.CENTER, 10, 10, 5, jlDias, pDadosCID);
ConfiguraComp(5, 0, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, jcbSeg, pDadosCID);
ConfiguraComp(6, 0, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, jcbTer, pDadosCID);
ConfiguraComp(7, 0, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, jcbQua, pDadosCID);
ConfiguraComp(8, 0, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, jcbQui, pDadosCID);
ConfiguraComp(9, 0, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, jcbSex, pDadosCID);
ConfiguraComp(0, 1, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.EAST, 10, 10, 5, jlPCcasa, pDadosCID);
ConfiguraComp(1, 1, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.CENTER, 10, 10, 5, jrbYes, pDadosCID);
ConfiguraComp(1, 2, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.CENTER, 10, 10, 5, jrbNot, pDadosCID);
ConfiguraComp(3, 1, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.EAST, 10, 10, 5, jlCursos, pDadosCID);
ConfiguraComp(4, 1, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, jcbDig, pDadosCID);
ConfiguraComp(5, 1, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, jcbWin, pDadosCID);
ConfiguraComp(6, 1, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, jcbInt, pDadosCID);
ConfiguraComp(7, 1, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, jcbWor, pDadosCID);
ConfiguraComp(4, 2, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, jcbPow, pDadosCID);
ConfiguraComp(5, 2, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, jcbExc, pDadosCID);
ConfiguraComp(6, 2, 1, 1, GridBagConstraints.NONE,
GridBagConstraints.WEST, 10, 10, 5, jcbPho, pDadosCID);
}
public void configuraTabela(){
barraRolagem = new JScrollPane();
colunas = new String[]{"Nome", "Escola", "Data Nasc.", "Bairro", "Telefone",
"Celular", "Grau Esc.", "Sexo"};
modeloTabela = new DefaultTableModel(dados, colunas);
tabela = new JTable(modeloTabela);
tabela.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
linha = tabela.getSelectedRow();
painelTabulado.setSelectedIndex(0);
carregaCampos();
}
}
);
barraRolagem = new JScrollPane (tabela, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
}
public void carregaCampos(){
jtfNome.setText(tabela.getModel().getValueAt(linha, 0).toString());
jtfPai.setText(tabela.getModel().getValueAt(linha, 0).toString());
}
public void adicionaLinha(String name, String day, String Mes, String year, String sex,
String Bairro, String telephone, String celu, String school, String Grau){
((DefaultTableModel)(tabela.getModel())).addRow(new String[]{name, day, Mes, year,
sex, Bairro, telephone, celu, school, Grau});
}
public void removeLinha(int l){
if (l < 0)
return;
((DefaultTableModel)(tabela.getModel())).removeRow(l);
}
public void atualizaDados(int linha, String nome, String escola, String dataNasc,
String bairro, String tel, String cel, String grau, String sexo){
((DefaultTableModel)(tabela.getModel())).setValueAt(nome, linha, 0);
}
public void capturaCampos(){
nome = jtfNome.getText();
dia = (String) cbDia.getSelectedItem();
mês = (String) cbMes.getSelectedItem();
ano = (String) cbAno.getSelectedItem();
estadoCivil = (String) cbEstadoCivil.getSelectedItem();
pai = jtfPai.getText();
identidade = jtfIdentidade.getText();
if (jrbMasc.isSelected() == true)
sexo = "Masculino";
else
sexo = "Feminino";
if (jrbSim.isSelected() == true)
jaFezCurso = "Sim";
else
jaFezCurso = "Não";
mãe = jtfMae.getText();
CPF = jftfCPF.getText();
livro = jtfLivro.getText();
folha = jtfFolha.getText();
assentoOrdem = jtfAssentoOrdem.getText();
seSim = jtfSeSim.getText();
rua = jtfRua.getText();
numero = jtfNumero.getText();
bairro = jtfBairro.getText();
complemento = jtfComplemento.getText();
tel = jftfTel.getText();
cel = jftfCel.getText();
escola = jtfEscola.getText();
endereço = jtfEndereco.getText();
telEscola = jftfTelEscola.getText();
bairroEscola = jtfBairroEscola.getText();
grau = (String) cbGrau.getSelectedItem();
turno = (String) cbTurno.getSelectedItem();
situaçao = jtfSituacao.getText();
tamanho = (String) cbTamanho.getSelectedItem();
horario = jtfHorario.getText();
if (jcbSeg.isSelected() == true)
diaSeg = "Seg/";
if (jcbTer.isSelected() == true)
diaTer = "Ter/";
if (jcbQua.isSelected() == true)
diaQua = "Qua/";
if (jcbQui.isSelected() == true)
diaQui = "Qui/";
if (jcbSex.isSelected() == true)
diaSex = "Sex/";
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == bNovo){
DesHabCampos(true);
EsvaziaCampos();
HabDesBotoesOperacao(true);
DesHabNovo(false);
DesHabLocalizar(false);
DesHabAlterar(false);
DesHabExcluir(false);
}
else if (e.getSource() == bSalvar){
JOptionPane.showMessageDialog(null, "Cadastro salvo com sucesso!");
DesHabCampos(false);
DesHabSalvar(false);
DesHabCancelar(false);
DesHabNovo(true);
capturaCampos();
adicionaLinha(nome, dia, mês, ano, sexo, bairro, tel, cel, escola, grau);
EsvaziaCampos();
DesHabExcluir(true);
}
else if (e.getSource() == bCancelar){
//System.out.println("" + diaSeg + diaTer + diaQua + diaQui + diaSex);
DesHabCampos(false);
HabDesBotoesOperacao(false);
DesHabNovo(true);
EsvaziaCampos();
}
else if (e.getSource() == bExcluir){
DesHabCampos(false);
HabDesBotoesOperacao(false);
JOptionPane.showMessageDialog(null, "Cadastro Excluído!");
DesHabNovo(true);
DesHabAlterar(true);
EsvaziaCampos();
removeLinha(linha);
}
}
public void EsvaziaCampos(){
jtfNome.setText("");
jtfPai.setText("");
jtfIdentidade.setText("");
grupoSexo.clearSelection();
grupoLeigo.clearSelection();
grupoPccasa.clearSelection();
jtfMae.setText("");
jftfCPF.setText("");
jtfLivro.setText("");
jtfFolha.setText("");
jtfAssentoOrdem.setText("");
jtfSeSim.setText("");
jtfRua.setText("");
jtfNumero.setText("");
jtfBairro.setText("");
jtfComplemento.setText("");
jftfTel.setText("");
jftfCel.setText("");
jtfEscola.setText("");
jtfEndereco.setText("");
jftfTelEscola.setText("");
jtfBairroEscola.setText("");
jtfSituacao.setText("");
jtfHorario.setText("");
jcbSeg.setSelected(false);
jcbTer.setSelected(false);
jcbQua.setSelected(false);
jcbQui.setSelected(false);
jcbSex.setSelected(false);
jcbDig.setSelected(false);
jcbWin.setSelected(false);
jcbWor.setSelected(false);
jcbPow.setSelected(false);
jcbExc.setSelected(false);
jcbInt.setSelected(false);
jcbPho.setSelected(false);
cbTurno.setSelectedItem("");
cbTamanho.setSelectedItem("");
cbEstadoCivil.setSelectedItem("");
cbGrau.setSelectedItem("");
cbDia.setSelectedItem("");
cbMes.setSelectedItem("");
cbAno.setSelectedItem("");
cbEstadoCivil.setSelectedItem("Solteiro(a)");
cbDia.setSelectedItem("01");
cbMes.setSelectedItem("Jan");
cbAno.setSelectedItem("1918");
}
public void DesHabNovo(boolean value){
bNovo.setEnabled(value);
}
public void DesHabCampos(boolean hab){
jtfNome.setEnabled(hab);
jtfPai.setEnabled(hab);
jtfIdentidade.setEnabled(hab);
jrbMasc.setEnabled(hab);
jrbFem.setEnabled(hab);
jtfMae.setEnabled(hab);
jftfCPF.setEnabled(hab);
jtfLivro.setEnabled(hab);
jtfFolha.setEnabled(hab);
jtfAssentoOrdem.setEnabled(hab);
jtfSeSim.setEnabled(hab);
jtfRua.setEnabled(hab);
jtfNumero.setEnabled(hab);
jtfBairro.setEnabled(hab);
jtfComplemento.setEnabled(hab);
jftfTel.setEnabled(hab);
jftfCel.setEnabled(hab);
jrbSim.setEnabled(hab);
jrbNao.setEnabled(hab);
jrbYes.setEnabled(hab);
jrbNot.setEnabled(hab);
jtfEscola.setEnabled(hab);
jtfEndereco.setEnabled(hab);
jftfTelEscola.setEnabled(hab);
jtfBairroEscola.setEnabled(hab);
jtfSituacao.setEnabled(hab);
jtfHorario.setEnabled(hab);
jcbSeg.setEnabled(hab);
jcbTer.setEnabled(hab);
jcbQua.setEnabled(hab);
jcbQui.setEnabled(hab);
jcbSex.setEnabled(hab);
jcbDig.setEnabled(hab);
jcbWin.setEnabled(hab);
jcbWor.setEnabled(hab);
jcbPow.setEnabled(hab);
jcbExc.setEnabled(hab);
jcbInt.setEnabled(hab);
jcbPho.setEnabled(hab);
cbTurno.setEnabled(hab);
cbTamanho.setEnabled(hab);
cbEstadoCivil.setEnabled(hab);
cbGrau.setEnabled(hab);
cbMes.setEnabled(hab);
cbDia.setEnabled(hab);
cbAno.setEnabled(hab);
}
public void HabDesBotoesOperacao(boolean r){
bSalvar.setEnabled(r);
bCancelar.setEnabled(r);
bExcluir.setEnabled(r);
bAlterar.setEnabled(r);
}
public void DesHabLocalizar(boolean Fire){
bLocalizar.setEnabled(Fire);
}
public void DesHabSalvar(boolean d){
bSalvar.setEnabled(d);
}
public void DesHabAlterar(boolean arq){
bAlterar.setEnabled(arq);
}
public void DesHabCancelar(boolean rio){
bCancelar.setEnabled(rio);
}
public void DesHabExcluir(boolean value){
bExcluir.setEnabled(value);
}
}
package spring;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Principal {
private static int larg = 900;
private static int alt = 597;
public static void main(String[] args) {
InterfaceGrafica painelP = new InterfaceGrafica();
JFrame frame = new JFrame("Greg Development - CID");
frame.setVisible(true);
frame.setResizable(true);
frame.setSize(larg, alt);
Dimension tamanho = Toolkit.getDefaultToolkit().getScreenSize();
int largura = tamanho.width;// pega a largura da tela monitor
int altura = tamanho.height;
frame.setLocation ((largura - larg)/2,(altura - alt)/2);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(painelP);
}
}
InstanciaComponentes();
ConfigBotoesBarraSul();
ConfigPaineldentificacao();
ConfigPainelEndereco();
ConfigPainelIdentEscolar();
ConfigPainelDadosCID();
ConfigBotoesBarraSul();
configuraTabela();
Cara, nesse trecho de código tu chama DUAS vezes o ConfigBotoesBarraSul(), fazendo que com o sistema registre 2 vezes o listener de cada botão. É por isso o problema.
Fernando Rosa
Só uma observação, por convenção nomes de métodos devem começar com letras minusculas. ^^
não acredito, estou envergonhado, deveria ter observado melhor o código.
Muito obrigado Fernando e ao amigo que falou das letras minusculas, eu me equivoquei.
Este forúm reamente reúne os melhores no mundo JAVA.
Obrigado
add ai no MSN = gregory.free@hotmail.com