if (comando.equals("excluir")){
telaExcluiCliente = new TelaExcluiCliente ();
ControleExcluiCliente controleExcluiCliente = new ControleExcluiCliente(telaExcluiCliente);
controleExcluiCliente.consultarExclusao();
}
public Cliente consultarExclusao(){
try{
codigoExclusao = JOptionPane.showInputDialog(null,"Digite o número do código do cliente","Exclusão de Cliente", JOptionPane.QUESTION_MESSAGE);
cliente.setCodigo(codigoExclusao);
cliente=dao.consultar(cliente);
if (cliente.getNome() != null){
JOptionPane.showMessageDialog(null, "NOME"+ cliente.getNome());
TelaExcluiCliente telaExcluiCliente = new TelaExcluiCliente();
ControleExcluiCliente controleExcluiCliente = new ControleExcluiCliente(telaExcluiCliente);
/*Aqui está o problema... pois se crio um novo objeto de controleExcluiCliente
* os dados que foram preenchidos anteriormente e armazenados em minhas variáveis são
* perdidos... mas se eu não crio meu controle aqui minha tela fica sem ouvinte para os
* listeners!!!
*/
telaExcluiCliente.setSize(800,600);
telaExcluiCliente.setLocation(200,200);
telaExcluiCliente.setVisible(true);
telaExcluiCliente.setDados(cliente);
codigoExclusao = cliente.getCodigo();
}
}
catch (Exception e){
JOptionPane.showMessageDialog(null, "Código não encontrado!!!","ERRO",JOptionPane.ERROR_MESSAGE);
return null;
}
return cliente;
}
package controle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
import modelo.Cliente;
import visao.TelaCadCliente;
import visao.TelaExcluiCliente;
import dao.DAOCliente;
import dao.DAOFactory;
public class ControleExcluiCliente implements ActionListener {
String codigoExclusao;
private TelaExcluiCliente telaExcluiCliente,telaExcluiCliente2;
Cliente cliente = new Cliente();
DAOFactory df=DAOFactory.getDAOFactory(DAOFactory.POSTGRES);
DAOCliente dao = df.getDAOCliente();
TelaCadCliente telaCad = new TelaCadCliente() ;
ControleCadCliente cCliente = new ControleCadCliente(telaCad);
public ControleExcluiCliente (TelaExcluiCliente telaExcluiCliente){
this.telaExcluiCliente = telaExcluiCliente;
/*Com esse JOptionPane pude ver que estava chmando a classe 2vezes!!
*/
JOptionPane.showMessageDialog(null, "FOI AQUI");
telaExcluiCliente.setOuvinte(this);
}// fim do construtor
public void actionPerformed(ActionEvent evt) {
String comando = evt.getActionCommand();
if (comando.equals("sair")){
fechar();
}
if (comando.equals("excluir")){
Object [] opcoes = {" Sim "," Não "};
int n = JOptionPane.showOptionDialog(null, "Você tem certeza de que deseja excluir o cliente selecionado?", "Confirmar Exclusão", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, opcoes, opcoes[0]);
if (n==0){
String codigo = cCliente.getCliente().getCodigo();
cliente.setCodigo(codigo);
if (cliente.getCodigo()==null){
JOptionPane.showMessageDialog(null,"MERDA "+cliente.getCodigo());
}
dao.excluir(cliente);
fechar();
}
}
}
public Cliente consultarExclusao(){
try{
codigoExclusao = JOptionPane.showInputDialog(null,"Digite o número do código do cliente","Exclusão de Cliente", JOptionPane.QUESTION_MESSAGE);
cliente.setCodigo(codigoExclusao);
cliente=dao.consultar(cliente);
if (cliente.getNome() != null){
JOptionPane.showMessageDialog(null, "NOME"+ cliente.getNome());
TelaExcluiCliente telaExcluiCliente = new TelaExcluiCliente();
ControleExcluiCliente controleExcluiCliente = new ControleExcluiCliente(telaExcluiCliente);
/*Aqui está o problema... pois se crio um novo objeto de controleExcluiCliente
* os dados que foram preenchidos anteriormente e armazenados em minhas variáveis são
* perdidos... mas se eu não crio meu controle aqui minha tela fica sem ouvinte para os
* listeners!!!
*/
telaExcluiCliente.setSize(800,600);
telaExcluiCliente.setLocation(200,200);
telaExcluiCliente.setVisible(true);
telaExcluiCliente.setDados(cliente);
codigoExclusao = cliente.getCodigo();
}
}
catch (Exception e){
JOptionPane.showMessageDialog(null, "Código não encontrado!!!","ERRO",JOptionPane.ERROR_MESSAGE);
return null;
}
return cliente;
}
public void fechar (){
telaExcluiCliente.dispose();
}
}
package controle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import modelo.Cliente;
import visao.TelaAlterarCliente;
import visao.TelaCadCliente;
import visao.TelaConsultaCliente;
import visao.TelaExcluiCliente;
import visao.TelaTable;
import dao.DAOCliente;
import dao.DAOFactory;
public class ControleCadCliente implements ActionListener {
private String codigoExclusao;
private TelaCadCliente tela ;
private TelaConsultaCliente telaConsulta = new TelaConsultaCliente();
private TelaExcluiCliente telaExcluiCliente;
private TelaAlterarCliente telaAlterarCliente = new TelaAlterarCliente();
private Vector <Cliente> vetor;
Cliente cliente = new Cliente();
DAOFactory df=DAOFactory.getDAOFactory(DAOFactory.POSTGRES);
DAOCliente dao = df.getDAOCliente();
private DefaultTableModel tabelaModel;
private String[] campos = {"Nome","Endereço","Identidade","Código","Telefone"};
ControleExcluiCliente controleExcluiCliente2;
public ControleCadCliente(TelaCadCliente tela){
this.tela = tela;
//ativa os Listeners
tela.setOuvinte(this);
}
public void actionPerformed(ActionEvent evt) {
String comando = evt.getActionCommand();
if (comando.equals("sair")){
fechar();
}
else
if (comando.equals("cadastrar")){
if (tela.verificaCampos(tela.getCamposOk())){
try{
Cliente cliente = new Cliente();
ControleCadCliente controle = new ControleCadCliente(tela);
TelaCadCliente cl = new TelaCadCliente();
tela.mudaDados(cliente);
dao.cadastrar(cliente);
JOptionPane.showMessageDialog(null, "Cliente cadastrado com sucesso!","Cadastro de cliente",JOptionPane.INFORMATION_MESSAGE);
tela.limpaCampos();
}
catch (Exception e){
JOptionPane.showMessageDialog (null, "Erro durante a gravação do novo cliente! :"+e,"ERRO",JOptionPane.ERROR_MESSAGE);
}
}
else
JOptionPane.showMessageDialog (null, "Os campos sinalizados com * são de preenchimento obrigatório!", "ATENÇÂO", JOptionPane.WARNING_MESSAGE);
}
if (comando.equals("consultar")){
ControleConsultaCliente ctrlConsultaCliente = new ControleConsultaCliente(telaConsulta);
ctrlConsultaCliente.consultar();
}
else
if (comando.equals("excluir")){
telaExcluiCliente = new TelaExcluiCliente ();
controleExcluiCliente2 = new ControleExcluiCliente(telaExcluiCliente);
cliente = controleExcluiCliente2.consultarExclusao();
}
else
if (comando.equals("alterar")){
}
else
if (comando.equals("limpar")){
tela.limpaCampos();
}
else
if (comando.equals("visualizar")){
TelaTable tTable = new TelaTable();
tTable.setSize(475,590);
tTable.setLocation(385,200);
tTable.setVisible(true);
tTable.setResizable(false);
}
}
public void fechar (){
tela.dispose();
}
public Cliente getCliente(){
return cliente;
}
public String consultarAlteracao(String codigo){
try{
Cliente cliente = new Cliente();
codigo = JOptionPane.showInputDialog(null,"Digite o número do código do cliente","Alteração de Cliente", JOptionPane.QUESTION_MESSAGE);
cliente.setCodigo(codigo);
dao.consultar(cliente);
if (cliente.getNome() != null){
TelaAlterarCliente tela = new TelaAlterarCliente();
ControleAlterarCliente controle = new ControleAlterarCliente(tela);
tela.setSize(800,600);
tela.setVisible(true);
tela.setLocation(200,200);
tela.setDados(cliente);
}
}
catch (Exception e){
JOptionPane.showMessageDialog(null, "Código não encontrado!!!","ERRO",JOptionPane.ERROR_MESSAGE);
}
return codigo;
}
public Cliente getConsultarExclusao(){
return cliente;
}
public String getCodigoExclusao(){
return codigoExclusao;
}
//dadosClientes
public String[][] dadosCliente(Vector<Cliente> vetor){
int tam=0;
tam = vetor.size();
String[][] dCliente = new String[tam][5];
for(int z=0;z < tam;z++){
dCliente[z][0] = vetor.get(z).getNome();
dCliente[z][1] = vetor.get(z).getEndereco();
dCliente[z][2] = vetor.get(z).getIdentidade();
dCliente[z][3] = vetor.get(z).getCodigo();
dCliente[z][4] = vetor.get(z).getTel();
}//fim do for
return dCliente;
} //fim do dadosUsuarios
//dadosEmVetor
public Vector<Cliente> dadosEmVetor(){
dao.resultDados();
vetor = new Vector<Cliente>(30,10);
try{
String resultDados[][] = dao.getDados();
int tam = resultDados.length;
for (int i=0; i<tam; i++){
String nome = resultDados[i][0];
String endereco = resultDados[i][1];
String identidade = resultDados[i][2];
String codigo = resultDados[i][3];
String tel = resultDados[i][4];
Cliente cliente = new Cliente();
cliente.setNome(nome);
cliente.setEndereco(endereco);
cliente.setIdentidade(identidade);
cliente.setCodigo(codigo);
cliente.setTel(tel);
vetor.add(cliente);
}//fim do for
}//fim do try
catch(Exception e){
JOptionPane.showMessageDialog(null,"Erro durante a gravação dos dados no vetor :"+e.getStackTrace(),"ERRO",JOptionPane.ERROR_MESSAGE);
}
return vetor;
}//fim do método dadosEmVetor
/*
public String[][] filtraConsulta(int caso, int tam){
try{
Vector<Cliente> vetor = new Vector<Cliente>(30,10);
Vector<Cliente> vetorAux = new Vector<Cliente>(30,10);
vetor = dadosEmVetor();
String aux = null;
//o primeiro for roda nos objetos<Alunos> do vetor
//o for interno roda no campo nome<String> dos objetos<Alunos> do vetor
for(int k=0;k < vetor.size();k++){
//testa se o dado no vetor é maior ou igual que o que você está consultado
//se for menor não entra na consulta.
if((vetor.get(k).getNome().length()) >= (tam)){
switch(caso){
case 1:
aux = vetor.get(k).getNome().substring(0,FClienteConsultar.tConsulta.getText().length());
break;
case 2:
aux = vetor.get(k).getNome().substring(0,FClienteAlterar.tTitulo.getText().length());
break;
case 3:
aux = vetor.get(k).getNome().substring(0,FClienteExcluir.tTitulo.getText().length());
break;
}//fim do switch
switch(caso){
case 1:{
if(FClienteConsultar.tConsulta.getText().equalsIgnoreCase(aux)){
vetorAux.add(vetor.get(k));
}//do if interno
break;
}//fim do caso 1
case 2:{
if(FClienteAlterar.tTitulo.getText().equalsIgnoreCase(aux)){
vetorAux.add(vetor.get(k));
}//fim do if interno
break;
}//fim do caso 2
case 3:{
if(FClienteExcluir.tTitulo.getText().equalsIgnoreCase(aux)){
vetorAux.add(vetor.get(k));
}//fim do if interno
break;
}//fim do caso 3
}//fim do switch
}//fim do if externo
}//fim do for
//transforma o vetor em dados
String[][] d = dadosCliente(vetorAux);
return d;
}//fim do try
catch(StringIndexOutOfBoundsException ex){
System.out.print("Erro");
return null;
}//fim do catch
}//fim do metodo filtra consulta
*/
public DefaultTableModel getTabelModelConsulta(){
dadosEmVetor();
String dCliente[][] = dadosCliente(dadosEmVetor());
tabelaModel = new DefaultTableModel(dCliente,campos);
return tabelaModel;
}
}// fim da classe ControleCadCliente
Please galera.. .preciso muito da ajuda de vcs ae... me dêem uma luz de como posso resolver o problema... já tentei colocar o método consultarExclusao em meu controleCadCliente mas também não funfou legal!!!
Abraçossss!!