Fala ae galera!!!
Po… esse é meu primeiro post aqui no fórum e gostaria de conta com a ajuda de vcs em um probleminha aqui galera!!!
tipo… .estou desenvolvendo um aplicativo para um amigo meu…mas estou tentdo problemas no método de exclusão de clientes aqui…
Não estou conseguindo pegar o número do código que o usuário digita e guardar em uma variável para poder realizar a exclusão depois
!!!
O código do meu controle é esse ae!!
[code]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 {
private TelaExcluiCliente telaExcluiCliente;
DAOFactory df=DAOFactory.getDAOFactory(DAOFactory.POSTGRES);
DAOCliente dao = df.getDAOCliente();
Cliente cliente = new Cliente();
private String codigo;
public ControleExcluiCliente (TelaExcluiCliente telaExcluiCliente){
this.telaExcluiCliente = telaExcluiCliente;
telaExcluiCliente.setOuvinte(this);
}// fim do construtor
public void consultarExclusao(){
try{
/*Estou com problemas aqui galera... quando manda a minha variável código
* receber o número que o cara me mandou e guardar para eu usar no meu método ActionPerformed
* acima ele está indo como null... mas quando faço o debug a variável codigo está recebendo sim o valor
* mas por algum motivo ela está perdendo esse valor quando chamo no método acima...
* tipo como se estivesse criando uma nova instância da mesma!!!
*/
codigo = JOptionPane.showInputDialog(null,"Digite o número do código do cliente","Exclusão de Cliente", JOptionPane.QUESTION_MESSAGE);
cliente.setCodigo(codigo);
dao.consultar(cliente);
if (cliente.getNome() != null){
TelaExcluiCliente tela = new TelaExcluiCliente();
ControleExcluiCliente controle = new ControleExcluiCliente(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);
}
}
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]);
// é bem aqui amigos... tenho que bolar um código para setar o meu código pois dessa maneira não está indo!
//Vejam se estou fazendo algo de errado com as instâncias dos controles... parece que ele está criando novas cópias das variáveis por isso está zerando!!
if (n==0){
dao.consultar(cliente);
cliente.setCodigo(eu);
if (cliente.getCodigo()==null){
JOptionPane.showMessageDialog(null,"MERDA "+cliente.getCodigo());
}
dao.excluir(cliente);
fechar();
}
}
}
public void fechar (){
telaExcluiCliente.dispose();
}
public String getCodigo(){
return codigo;
}
}[/code]
E tipo galera… .estou fazendo a chamada do meu controleExcluiCliente na classe ControleCadCliente da seguinte maneira!!
package controle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
import modelo.Cliente;
import visao.TelaCadCliente;
import visao.TelaConsultaCliente;
import visao.TelaExcluiCliente;
import dao.DAOCliente;
import dao.DAOFactory;
public class ControleCadCliente implements ActionListener {
private TelaCadCliente tela ;
private TelaConsultaCliente telaConsulta = new TelaConsultaCliente();
private TelaExcluiCliente telaExcluiCliente = new TelaExcluiCliente();
DAOFactory df=DAOFactory.getDAOFactory(DAOFactory.POSTGRES);
DAOCliente dao = df.getDAOCliente();
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")){
/* Aqui está sendo feita a chamda para o controle e também para método que falei acima
*
*/
ControleExcluiCliente controleExcluiCliente = new ControleExcluiCliente(telaExcluiCliente);
controleExcluiCliente.consultarExclusao();
}
else
if (comando.equals("alterar")){
}
else
if (comando.equals("limpar")){
tela.limpaCampos();
}
}
public void fechar (){
tela.dispose();
}
}
Me ajuda ae galeraaaa!!!
Um abraço a todos!