Problemas ao tentar trazer dados JComboBox

Tenho uma classe chamada Cidade que tem relação com a classe Pessoa, na classe Pessoa tem um JComboBox que permite selecionar a cidade da pessoa. Todos os métodos do CRUD estão funcionando, só que estou programando o evento MouseClicked porém está dando um erro quando estou tentando trazer os dados desse JComboBox referente a Cidade cadastrada na Pessoa cadastrada. Abaixo Segue o Código:

private void jTablePessoasMouseClicked(java.awt.event.MouseEvent evt) {                                           
        String nome_pessoa = ""+jTablePessoas.getValueAt
        (jTablePessoas.getSelectedRow(), 1);
        conexao.abreConexao();
        conexao.executaSQL("select * from tblpessoa where pes_nome='"+nome_pessoa+"'");
        try {
            conexao.rs.first();
            txtPesCodigo.setText(Integer.toString(conexao.rs.getInt("pes_codigo")));
            txtPesNome.setText(conexao.rs.getString("pes_nome"));
            txtPesCpf.setText(conexao.rs.getString("pes_cpf"));
            txtPesRg.setText(conexao.rs.getString("pes_rg"));
            txtPesRua.setText(conexao.rs.getString("pes_rua"));            
            txtPesComplemento.setText(conexao.rs.getString("pes_complemento"));
            txtPesNumero.setText(conexao.rs.getString("pes_numero"));
            Conexao conexaoPesquisa = new Conexao();
            conexaoPesquisa.abreConexao();
            conexaoPesquisa.executaSQL("select * from tblcidade where cid_codigo="+conexao.rs.getInt("cid_codigo"));
            conexaoPesquisa.rs.next();            
            CBPesCid.getSelectedItem(conexaoPesquisa.rs.getString("cid_nome"));
            conexaoPesquisa.fechaConexao();
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null,"Erro ao selecionar os dados"
            +ex.getLocalizedMessage(),"Mensagem",JOptionPane.ERROR_MESSAGE);
        }
        conexao.fechaConexao();
    }

A seguinte mensagem aparece:

method getSelectedItem in class JCombobox cannot be applied to given types;
required: no arguments
found: String
reason: actual and formal arguments lists differ in lenght
where E is a type-variable:
E extends Object declared in class JCombobox

A mensagem é bastante clara:
Você está chamando o método getSelectedItem passando um String como parâmetro, mas esse método não recebe parâmetros.

O que você me recomenda fazer no código?

Falando em outras palavras o que o Staroski disse, observe que nessa linha você passa como parâmetro o “conexaoPesquisa.rs.getString("cid_nome")”, porem o método getSelectedItem da sua classe aqui instanciada com CBPesCid não recebe parâmetros. Provavelmente lá na classe o método está “public void getSelectedItem () {
(Se o parênteses da declaração do método está vazio, ele não está recebendo parâmetros). Mas você está mandando parâmetros para o método. Daí, deu esse erro.
Se você de fato precisa passar parâmetros para este método, mude a declaração do método. :wink:

Tu está querendo ‘setar’ dados com o método de ‘recuperar’. O certo seria usar CBPesCid.setSelectedItem(conexaoPesquisa.rs.getString(“cid_nome”)); e não CBPesCid.getSelectedItem(conexaoPesquisa.rs.getString(“cid_nome”));. O método getSelectedItem() não aceita parâmetros já que é um método de retorno.

Sugestão: não misture a camada de visão com a camada de persistência. Fica melhor se separar as coisas

1 curtida

Muito Obrigado consegui resolver esta questão, mas agora estou com outro problema.

OK. Consegui resolver esta parte, muito obrigado.

Ok já verifiquei.