Estou tendo problemas para armazenar os dados dos campos que usam getSelectedIndex abaixo:
[code]private void cadastro ()
{
try
{
Aluno alu = new Aluno();
alu.setBairro(jTbairro.getText());
alu.setCep(jTcep.getText());
alu.setCidade(jTcidade.getText());
alu.setComplemento(jTcomplemento.getText());
alu.setCpf(jTcpf.getText());
alu.setDataInicio(jTdataInicio.getText());
alu.setDataNascimento(jTdataNascimento.getText());
alu.setDataPagamento(jTdataPagamento.getText());
alu.setEmail(jTemail.getText());
alu.setEstadoCivil(jCestadoCivil.getSelectedIndex());
alu.setLogradouro(jTlogradouro.getText());
alu.setMatricula(Integer.valueOf(jTmatricula.getText()));
alu.setNome(jTnome.getText());
alu.setNumero(jTnumero.getText());
alu.setProfissao(jTprofissao.getText());
alu.setRg(jTrg.getText());
alu.setSexo(jCsexo.getSelectedIndex());
alu.setTelefoneCelular(jTtelefoneCelular.getText());
alu.setTelefoneResidencial(jTtelefoneFixo.getText());
alu.setUf(jCuf.getSelectedIndex());
}
catch (SQLException ex)
{
JOptionPane.showMessageDialog(null, "Erro ao cadastrar\n "+ex);
}
}[/code]
O que pode ser?
Desde já obrigado a toda comunidade…
Você não precisava usar o getSelected[b]Item/b? De qualquer jeito, provavelmente você vai ter que fazer algum tipo de cast.
Outra coisa. Esse seu código roda em alguma janela? Pq se rodar, o primeiro parâmetro do JOptionPane deveria ser this e não null.
a parte do this eu corrigi, más a parte do cast ainda não. Você poderia me dar algum exemplo?
se eu usasse esse exemplo:
alu.setUf(jCuf.getSelectedItem().toString());
daria certo, para o que quero? Pois para começar a testar ainda demorarei um pouco
setUf retorna String e quero setar o nome da uf
Adriano me perdoa pela demora no retorno, é que eu esta sem nenhum IDE instalado na minha máquina, testei aqui e é como você citou aí no final.
Fiz um teste de setar o texto do ComboBox num Label: jLabel1.setText(jComboBox1.getSelectedItem().toString()); A questão é que o getSelectedItem retorna um Object e o teu método está esperando uma String, então existe a necessidade de conversão. com o toString().
Um abraço!
e como faço essa conversão? Nunca fiz com objeto Jcombobox
É só chamar o toString() mesmo. Ou, se na hora que você inseriu dados na combo você colocou Strings, você pode usar
String valor = (String) combo.getSelectedItem();
Note que a combo suporta qualquer objeto dentro dela. Você pode até colocar suas classes inteiras lá. E é recomendado que você faça isso.
O que a combo exibe é o que o método toString() da sua classe retorna. A vantagem disso é que vc pode fazer uma combo de produtos, por exemplo, que mostre o nome do produto, mas usar o seu id.
Produto produto = (Produto) combo.getSelectedItem();
JAlterarProduto ap = new JAlterarProduto(produto);
ap.setVisible(true);