Setar ComboBox com tabela de Clientes

Ola Pessoal.

Eu consegui carregar um jComboBox com os Nomes e Codigos de uma Tablea de Clientes, atraves de uma Classe Cliente().
O Problema e que eu salvo apenas o Codigo do cliente em uma outra Tabela de Eventos, e para setar o cliente que eu salvei, nao estou conseguindo.

O Problema deve estar no metodo SetComboCli(),

Abaixo descrevo a Classe e em seguida o codigo :

desde ja obrigado

public final class Clientes {
private String nome;
private int codigo;

 public Clientes() {

 }

 public Clientes(String nome, int cod) {
    this.setNome(nome);
    this.setCodigo(cod);
 }

 public String getNome() {
     return this.nome;
 }

 public void setNome(String nome) {
     this.nome = nome;
 }

 public int getCodigo() {
    return codigo;
 }

 public void setCodigo(int cod) {
    this.codigo = cod;
 }

 @Override
 public String toString() {
    return this.getNome();
 }

}

// codigo para Atualiza o campo ComboBox com a Tabela de Cliente atraves da Classe Clientes()
private void atualizaComboCli() {
try {
cbxCliente.removeAllItems();
Class.forName(bd.getDriver());
con = DriverManager.getConnection(bd.getUrl(), bd.getUsuBD(), bd.getSenhaBD());
sta = con.createStatement();
String query;
query = “SELECT Nome, CodCli FROM Clientes”;
res = sta.executeQuery(query);
cbxCliente.addItem("");
if (res.next()) {
do {
// Adiciona a Classe Clientes() no ComboBox = Nome e Codigo
cbxCliente.addItem(new Clientes(res.getString(“Nome”), res.getInt(“CodCli”)));
} while (res.next());
}
con.close();
sta.close();
} catch(ClassNotFoundException erro) {
JOptionPane.showMessageDialog(null, "Problema na Conecção com o Banco de Dados ",“Atenção”, JOptionPane.INFORMATION_MESSAGE);
} catch(SQLException erro) {
JOptionPane.showMessageDialog(null, “Problema com o SQL !”,“Atenção”, JOptionPane.INFORMATION_MESSAGE);
}
}

public FrmIntEventosCad(int codigo, String mod) {
    initComponents();

    atualizaComboCli();   // Atualiza com Todas as Clientes

    codEve = codigo;
    modo = mod;
    if (modo.equals("A")) {
        btnAlualizar.setText("Alterar");
        try {
            // *** Le o Cadastro de Eventos ***
            Class.forName(bd.getDriver());
            con = DriverManager.getConnection(bd.getUrl(), bd.getUsuBD(), bd.getSenhaBD());
            sta = con.createStatement();
            String query = "";
            query = "SELECT * FROM eventos WHERE CodEven = '" + codEve + "'" ;
            // Executa a Pesquisa SQL
            res = sta.executeQuery(query);
            if (res.next()) {
                lblVerCodigo.setText(res.getString("CodEven"));
                txtNome.setText(res.getString("Nome"));
                codCli = res.getInt("CodCli");

            }
            con.close();
            sta.close();
        } catch(ClassNotFoundException erro) {
            JOptionPane.showMessageDialog(null, "Problema na  Conecção  com o Banco de Dados!!","Atenção", JOptionPane.INFORMATION_MESSAGE);
        } catch(SQLException erro) {
            JOptionPane.showMessageDialog(null, "Problema com o SQL !","Atenção", JOptionPane.INFORMATION_MESSAGE);
        }

        /// E neste metodo que associa o nome do cliente ao Combo
        setComboCli();          // Seta o Nom

}

////// O Problema esta AQUI pois quando executo o metodo
private void setComboCli() {
try {
// *** Le o Cadastro de Agencias ***
Class.forName(bd.getDriver());
con = DriverManager.getConnection(bd.getUrl(), bd.getUsuBD(), bd.getSenhaBD());
sta = con.createStatement();
String query = “”;
query = “SELECT CodCli, Nome FROM Clientes WHERE CodCli = '” + this.codCli + “’” ;
// Executa a Pesquisa SQL
res = sta.executeQuery(query);
if (res.next()) {
///// Nao esta conseguindo atribuir o Nome do cliente
cbxCliente.setSelectedItem(res.getString(“Nome”));
}
con.close();
sta.close();
} catch(ClassNotFoundException erro) {
JOptionPane.showMessageDialog(null, “Problema na Conecção com o Banco de Dados !”,“Atenção”, JOptionPane.INFORMATION_MESSAGE);
} catch(SQLException erro) {
JOptionPane.showMessageDialog(null, “Problema com o SQL !”,“Atenção”, JOptionPane.INFORMATION_MESSAGE);
}
}

Ola pessoal
Estou reforçando o meu pedido de ajuda sobre o JCombobox com nome e codigo de clientes,
Ele esta carregando corretamento com o banco de dados de clientes desta forma:

        cbxCliente.addItem(" ");
        if (res.next()) {
            do {
                // Adiciona a Classe Clientes() no ComboBox = Nome e Codigo
                cbxCliente.addItem(new Clientes(res.getString("Nome"), res.getInt("CodCli")));
            } while (res.next());
        }

O Problema esta quando entro na tela de Alteração e tenho que Setar o valor para o jCombobox

     query = "SELECT CodCli, Nome FROM Clientes WHERE CodCli = '" + this.codCli + "'" ;
        // Executa a Pesquisa SQL
        res = sta.executeQuery(query);
        if (res.next()) {

           ///// Aqui ele Nao esta setando o combo esta ficando em brnaco
            cbxCliente.setSelectedItem(res.getString("Nome"));

        }

A classe Clientes() eu estou mostrando na 1o mensagem do forum

desde ja Obrigado.

Ola Pessoal.

Acabei descobindo o Problema pesquisando e por Instinto acabei achando o erro.

foi so acrescentar o .getModel() logo depois do combo cbxCliente e Pronto Resolvido o Problema

        res = sta.executeQuery(query);
        if (res.next()) {

            cbxCliente[b].getModel().[/b]setSelectedItem(res.getString("Nome")); 
        }

Ola

Parece que no Java agente noa pode ficar contente, pois agora esta dando um erro quando executa o evento abaixo:

Mensagem de Erro :
“Exception in thread “AWT-EventQueue-0” java.lang.ClassCastException: java.lang.String cannot be cast to sistema.Agencias”

Aqui esta o codigo que lança o erro

private void sairAgencia(java.awt.event.FocusEvent evt) {
Agencias ag = (Agencias)cbxAgencia.getSelectedItem();
codAge = ag.getCodigo();
}

Aglguem podee me ajudar ?
Obrigado