Filtrar registro através do que foi selecionado na JComboBox

Galera estou com uma aplicação bem simples aqui, porém não consegui finalizá-la devido a essa Exception (creio que seja somente ela). Estou com um método na View Cliente chamado popularTabela(), este método popula uma jTable e eu estou tentando realizar um filtro dos registros por meio do que foi selecionado em uma JcomboBox, segue o código do método abaixo:

private void popularTabela(){
    ClienteDAO clidao = new ClienteDAO();
    
    Cliente clienteFiltro = new Cliente();
    Integer codigoPesq = null;
    Cidade cidadeFiltro = (Cidade) (cmbCidPesq.getSelectedItem());
    if (!txtCodigoPesq.getText().equals("")){
        codigoPesq = Integer.parseInt(txtCodigoPesq.getText());
    }
    clienteFiltro.setCodigo(codigoPesq);
    clienteFiltro.setNome(txtNomePesq.getText());
    clienteFiltro.setCidade(cidadeFiltro);
    
    List<Cliente> clientes = clidao.pesquisar(clienteFiltro);
    DefaultTableModel modeloTable = (DefaultTableModel) jTable1.getModel();
    while (modeloTable.getRowCount() > 0){
        modeloTable.removeRow(0);
    }
for (Cliente c : clientes){
        modeloTable.addRow(new Object[]{c.getCodigo(),c.getNome(),c.getCidade(),c.getVeiculo()});
    }
}

Exception in thread “AWT-EventQueue-0” java.lang.ClassCastException: java.lang.String cannot be cast to com.unipar.aulamaven.domain.Cidade

Segue a saída:

at com.unipar.aulamaven.view.ClienteView.popularTabela(ClienteView.java:64)
at com.unipar.aulamaven.view.ClienteView.<init>(ClienteView.java:35)
at com.unipar.aulamaven.view.PrincipalView.jMenuItem1ActionPerformed(PrincipalView.java:88)
at com.unipar.aulamaven.view.PrincipalView.access$000(PrincipalView.java:13)
at com.unipar.aulamaven.view.PrincipalView$1.actionPerformed(PrincipalView.java:45)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
at java.awt.Component.processMouseEvent(Component.java:6525)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6290)
at java.awt.Container.processEvent(Container.java:2234)
at java.awt.Component.dispatchEventImpl(Component.java:4881)
at java.awt.Container.dispatchEventImpl(Container.java:2292)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
at java.awt.Container.dispatchEventImpl(Container.java:2278)
at java.awt.Window.dispatchEventImpl(Window.java:2750)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Sou iniciante em java, caso alguém possa me ajudar, agradeço.

Faça o seguinte teste:

Verifique o que esta sendo retornado pelo método cmbCidPesq.getSelectedItem();
A JVM está dizendo que você tentou converter um objeto String para um objeto Cidade.

System.out.println(cmbCidPesq.getSelectedItem()); // imprime o retorno da combo no console

String e Cidade são diferentes, esta conversão é inválida.

Cidade cidadeFiltro = (Cidade) (cmbCidPesq.getSelectedItem()); // erro

Se não me engano o combo box do swing retorna uma string com o valor selecionado. Se você quiser atribuir
o valor a uma cidade deve fazer assim:

Cidade cidadeFiltro = new Cidade();
cidadeFiltro.setName(cmbCidPesq.getSelectedItem()); 

Crie o objeto primeiro, depois atribua o retorna da combo box ao atributo correto do objeto.

Espero ter ajudado.

Vou fazer isso roben.costa, obrigado pelas dicas, se funcionar volto aqui!