List<String>strList=newArrayList<String>();Stringquery="SELECT * FROM TABELA WHERE CONDICAO = TAL";PreparedStatementps=con.prepareStatement(query);ResultSetrs=ps.executeQuery();while(rs.next){strList.add(rs.getString("NOME_DA_COLUNA_TAL_LÁ_DO_BANCO"));}ps.close();
Populando o comboBox com a lista de String:
//comboBox é meu comboBox, beleza?DefaultComboBoxModeldefaultComboBox=newDefaultComboBoxModel(strList.toArray());comboBox.setModel(defaultComboBoxModel);
resumindo:
Faça a consulta e armazene os resultados numa lista (exemplo 1).
Depois pegue os resultados da lista, passe para array dentro do combo box model; Abrass
oddy.silva
Melhorando:
List<String>strList=newArrayList<String>();Stringquery="SELECT * FROM TABELA WHERE CONDICAO = ?";PreparedStatementps=con.prepareStatement(query);ps.setString(1,"VALOR");ResultSetrs=ps.executeQuery();while(rs.next){strList.add(rs.getString("NOME_DA_COLUNA_TAL_LÁ_DO_BANCO"));}ps.close();
Qualquer coisa dá uma olhada na Apostila FJ-21 da Caelum, bem no comecinho tem a receita de bolo de um DAOzão. Flw!
S
souzajhonatan
ve se esta certo
public List Combo() {
List<Ocorrencia> list = new ArrayList<Ocorrencia>();
try{
Connection conn = Conexao.getConnection();
String sql = null;
// sql = "select descricao,data_ocorrencia,servico,placa,nomecliente,nomeveiculo from ocorrencia where idocorrencia=? ";
sql = "select servico from ocorrencia ";
PreparedStatement pst = conn.prepareStatement(sql);
ResultSet rs = pst.executeQuery();
while(rs.next()){
Ocorrencia ocorrencia = new Ocorrencia();
Servicos servico = new Servicos();
servico.setDescricaoServ(rs.getString("servico"));
ocorrencia.setServicos(servico);
}
pst.close();
rs.close();
} catch (Exception e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null, e.getMessage());
}
return list;}
Aquela outra parque que vc passou seria outro metodo?
DefaultComboBoxModel defaultComboBox = new DefaultComboBoxModel(strList.values());
comboBox.setModel(defaultComboBoxModel);
O segredo de Tostines aqui é a lista que você criou. Agora você vai ter que dar um jeito
de pegar essa lista lá no Swing (de preferência coloque no DAO). Lá no Swing você
criou um comboBox, certo? Daí você precisa popular o ComboBox com os valores que você pegou,
e você faz isso setando o “modelo” de seu ComboBox, o DefaultComboBoxModel, com os valores
que você tem na lista.
//Instanciando o DefaultComboBoxModelDefaultComboBoxModeldefaultComboBox=newDefaultComboBoxModel(list.toArray());//passando os valores do "modelo" pro ComboBoxcomboBox.setModel(defaultComboBoxModel);
Tenta aí agora.
oddy.silva
Eu só achei uma coisa estranha:
Se você quer mostrar só o resultado da coluna Servico, então esses valores não seriam String, Date, Integer ou
algo do tipo? Se você quiser mostrar um ComboBox só com a descrição do Serviço, então faça assim:
List<String>list=newArrayList<String>();Stringsql="select servico from ocorrencia";PreparedStatementps=con.prepareStatement(sql);ResultSetrs=con.executeQuery; while(rs.next()){list.add(rs.getString("servico");
}
ps.close();con.close();
O resto fica igual.
//Instanciando o DefaultComboBoxModelDefaultComboBoxModeldefaultComboBox=newDefaultComboBoxModel(list.toArray());//passando os valores do "modelo" pro ComboBoxcomboBox.setModel(defaultComboBoxModel);
Da maneira que tava antes, quando desse um “list.toArray()” iria criar um comboBox de instâncias, daí o resultado não vai ser muito agradável pra você.
Se você quiser vários ComboBox, um com cada atributo do servico, você teria que criar uma lista e ir pegando os valores separadamente. Exemplo:
Troque list.getValues por list.toArray(); Eu escrevi getValues, mas foi a força do hábito. Faça do jeito que eu disse e dê um list.toArray();
S
souzajhonatan
a visão não reconhece o list
oddy.silva
Tem como você colar a mensagem de erro pra eu dar uma olhada? Posta a mensagem de erro e a maneira como você tah pegando a a lista e populando o ComboBox.
Mas, só pra você ter uma idéia do que tem que ser feito, faca o seguinte:
1- Crie um novo projeto no NetBeans
2 - Crie um Frame
3 - Coloque um botão e um comboBox no formulário que você criou
4 - Agora dê um dois cliques em cima do botão que você criou e adicione o seguinte código ao botão:
List<String>list=newArrayList<String>();list.add("Valor um");list.add("Valor dois");list.add("Valor três");DefaultComboBoxModeldefaultComboModel=newDefaultComboBoxModel(list.toArray());//seuComboBox é o comboBox que você criouseuComboBox.setModel(defaultComboModel);
Isso vai preencher o seu Combo Box. Daí dá pra ter uma idéia mais clara do que deve ser feito. Faça o exemplo e depois poste a mensagem de erro aqui. Flw!!!
S
souzajhonatan
Consegui fazer cara… obrigado
oddy.silva
Aew!!! Uhu! Então fechou. Qualquer coisa estamos aí. Abrass.
S
souzajhonatan
Então cara… consegui retorna os dados la na combo… agora vc manja com inserir esses dados no banco?
oddy.silva
Fala rapaz, tudo beleza? Desculpa a demora em responder, mas acabei nem vindo ao GUJ.
Bom, se você quiser pegar a opcao que esta selecionada no comboBox, eh soh vc usar o
getSelectedIndex();
exemplo:
//vamos supor que seu combo box tem 3 dados://o primeiro fica na posicao 0//o segundo fica na posicao 1, e assim por diante://pegando o primeiro item do comboBoxcomboBox.getSelectedItem(0);
Pronto, daí você atribui o valor do combo Box a variável de retorno esperado. Abraço.
S
souzajhonatan
mais isso eu faço onde?
da uma olhandinha no meu post.
S
souzajhonatan
eu tenho um outro post… se vc puder dar uma olhada…