pessoal, sou novo aqui e também iniciante no JAVA. Alguém poderia me auxiliar dizendo como faço para que um ComboBox inicie com um valor recebido do BD
Estou utilizando o Eclipse (Callisto) e MySql. Abaixo segue como estou preenchendo o ComboBox. Estou usando uma classe de conexão padrao e não sei como esse Combo já inicie com um valor e ainda faça o preenchimento com o restante dos dados.
Desde já agradeço.
privatevoidselecionarSituacaoPes(){// abre a conexão...conexaoSituacaoPes=newConexaoCb();conexaoSituacaoPes.conectar();try{Statementst=conexaoSituacaoPes.conn.createStatement();ResultSetrs=st.executeQuery("SELECT sit_descricao FROM situacao WHERE sit_tipo = 1");while(rs.next()){// mostra o resultado como quiser... Nesse caso todos os nomes de clientes selecionados aparecerão num jComboBox... cbSituacaoPes.addItem(rs.getString("sit_descricao"));}rs.close();st.close();}catch(SQLExceptione){// informa os erros caso ocorram e.printStackTrace();}// fecha a conexão conexaoSituacaoPes.desconectar();}
Não entedi muito bem, mas acho que isto deve resolver
ComboBox.setSelectedItem(rs.getString("campo_mysql"));//selecionar o item
Linkel
Hehehehe…
Fera, parece que eu conheço esse método, rsrsrsrs…
Fui eu quem escrevi o método no qual você se baseou… Escrevi para um colega do guj que tinha quase a mesma dúvida que você… Até os comentários estão intactos.
Bom saber que te ajudou…
Mas se eu entendi você quer listar no comboBox os valores de uma coluna do banco de dados e depois visualizar um valor específico no comboBox…
Se for isso mesmo então a dica do amigo diodom vai funcionar perfeitamente, desde que você implemente depois da listagem no comboBox…
Tipo assim:
Imaginemos que você fez uma consulta e obteve o nome do cliente e armazenou esse nome numa variável do tipo String e agora você precisa selecionar no comboBox que lista todos os nomes dos clientes aquele nome específico que foi obtido e armazenado na variável…
private void selecionarSituacaoPes() {
// valor atribuído à variável String com o nome do cliente obtido...
String nomeCliente = "LINDOÉLIO LÁZARO";
conexaoSituacaoPes = new ConexaoCb();
conexaoSituacaoPes.conectar();
try {
Statement st = conexaoSituacaoPes.conn.createStatement();
ResultSet rs = st.executeQuery("SELECT sit_descricao FROM situacao WHERE sit_tipo = 1");
while (rs.next()) {
cbSituacaoPes.addItem(rs.getString("sit_descricao"));
// quando terminar a listagem o comboBox seleciona o nome do cliente obtido anteriormente...
if (rs.last()) {
cbSituacaoPes.setSelectedItem(nomeCliente);
}
}
rs.close();
st.close();
}
catch(SQLException e) {
e.printStackTrace();
}
conexaoSituacaoPes.desconectar();
}
Pronto! Está feito!
“Isto fica feliz em lhe ser útil”
Um abraço!
Marcelo_Dias_Muniz
Linkel, muito obrigado pelo seu código. Estava procurando algo assim há algum tempo e sua solução caiu como uma luva. Agora tenho a oportunidade de agradecer sua ajuda: “VALEU!”
Vou explicar melhor minha necessidade:
Há uma tela onde aquele combo é usado para auxiliar no preenchimento de um cadastro. Há uma tabela só com os valores possíveis para ele. Quando há alteração neste cadastro, o combo deve ser populado com os valores possíveis para ele mas, no valor inicial deve ser preenchido o dado que vem desse cadastro.
Espero ter sido mais claro desta vez.
Marcelo_Dias_Muniz
Linkel, irei verificar a solução que me enviou!
MAIS UMA VEZ, MUITO OBRIGADO PELA AJUDA!
Linkel
Então é essa a idéia mesmo, brother…
Você só precisa definir o valor que vai setar ao comboBox…
Um abraço!
Marcelo_Dias_Muniz
“Fera”, você é “fera”! Funcionou!
Mais uma vez, muito obrigado!
Continue assim, auxiliando quem está aprendendo, que só irá faze-lo ainda mais “fera”!
Marcelo_Dias_Muniz
Diodon, esqueci-me de lhe dizer obrigado pela ajuda. Mas espero ter lembrado a tempo! Valeu por ter postado também!
Abraços.