JComboBox?

2 respostas
Makulah_Skopy

Estou com uma duvida, como melhorar este código para introduzir mais de mil e tal itens sem o programa parar: ele recebe os valores neste metodo, vindo da base de dados:

private void jComboBox1AncestorAdded(javax.swing.event.AncestorEvent evt) {//GEN-FIRST:event_jComboBox1AncestorAdded

ConexaoDao dao = new ConexaoDao();
try{
for(Produtos qualProd : dao.getProdutos())
{
jComboBox1.addItem(qualProd.getNomeProduto());
}
}catch (SQLException ex) {
Logger.getLogger(OrdemDeCompra.class.getName()).log(Level.SEVERE, null, ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(OrdemDeCompra.class.getName()).log(Level.SEVERE, null, ex);
}
}//GEN-LAST:event_jComboBox1AncestorAdded


depois ele eh manipulado neste método abaixo, mas o objectivo eh usar um loop(for ou do while) para evitar que o getSelectedIndex para no index=5


private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jComboBox1ActionPerformed
// TODO add your handling code here:
jTextField2.setText((String) jComboBox1.getSelectedItem());
if(jComboBox1.getSelectedIndex()==0)
{
jTextField2.setText("Selecione");
}
if (jComboBox1.getSelectedIndex() == 1) {// opção 1 no caso "COMBO 1"
jTextField2.setText("1");
}
if (jComboBox1.getSelectedIndex() == 2) {// opção 1 no caso "COMBO 2"
jTextField2.setText("2");
}
if (jComboBox1.getSelectedIndex() == 3) {// opção 1 no caso "COMBO 1"
jTextField2.setText("3");
}
if (jComboBox1.getSelectedIndex() == 4) {// opção 1 no caso "COMBO 1"
jTextField2.setText("4");
}
if (jComboBox1.getSelectedIndex() == 5) {// opção 1 no caso "COMBO 1"
jTextField2.setText("5");
}

}//GEN-LAST:event_jComboBox1ActionPerformed

2 Respostas

bruno_souza_picinini

Boa tarde,
Não seria mais fácil trabalhar com um método que retorna um ArrayList lá em sua DAO
e depois carregar estes objetos em sua combo ?

Makulah_Skopy

estou a trabalhar com ArrayList para expor todos dados do produto no DAO mas quando vou a interface principal, e traz me ao Combo a lista dos objectos mas, ao gravar tenho que usar este metodo arcaico que postei abaixo. Queria uma forma de nao ter que usar o jTextFieldX para voltar o index desta forma…

Criado 21 de março de 2017
Ultima resposta 22 de mar. de 2017
Respostas 2
Participantes 2