JComboBox

6 respostas
fsf

Oi pessoal,

Estou com dificuldades para atualizar um Jcombobox!!!
Assim que o usuario chama a tela o combo é carregado automaticamente,
mas quando ele cadastrar um novo item e o combo é atualizado este fica em branco!!!Vejam o metodo que eu criei para que o combo seja carregado:

public void ListarFuncoes() { 
               conexao(); 
                
          
            try { 

          
      funcoes.removeAllItems(); 
      Stmt = con.createStatement(); 
      RS = 
         Stmt.executeQuery( 
            "Select cod_funcao from funcao " 
               ); 
      int i = 0; 

      while (RS.next()) { 

         funcao = RS.getString("cod_funcao"); 

         funcoes.addItem(funcao); 
         i++; 
         repaint(); 
      } 
   } catch (SQLException ex) { 
      JOptionPane.showMessageDialog( 
         null, 
         "Erro ao recuperar o codigo da Função !", 
         "Mensagem", 
         JOptionPane.ERROR_MESSAGE); 
   } 
                
               // repaint();    
             //validate(); 
            fechar(); 
         }

Alguem tem alguma ideia ???

6 Respostas

brlima

tenta fazer isso usando o modelo da combo ao inves dela direto. ( getModel ).

fsf

O getModel do combo tem o mesmo funcionamento do JTable???

brlima

sim.

fsf
brlima, Consegui implementar o combo!! Dê uma olhada:
import java.util.Vector; 

private DefaultComboBoxModel  dados = new DefaultComboBoxModel(); 
private Vector linhas = new Vector(); 

public void ListarCodFuncao() { 

         conexao(); 
      funcoes.removeAllItems(); 
         //bloco try responsavel por recuperar os dados da funcao 
         try { 

             

            Stmt = con.createStatement(); 

            RS = 
               Stmt.executeQuery( 
                  "Select cod_funcao  from funcao"); 

            RS.next(); 

                 
             
            do { 

               funcao = RS.getString("cod_funcao"); 
               dados.addElement(funcao); 
             
            } while (RS.next()); 

             
             
         } catch (SQLException ex) { 

            // ex.printStackTrace();    
            JOptionPane.showMessageDialog( 
               null, 
               "Erro ao Recuperar o Código da Função!", 
               "Mensagem", 
               JOptionPane.ERROR_MESSAGE); 
         } 

         fechar(); 

          
          funcoes= new javax.swing.JComboBox(dados); 
          getContentPane().add(funcoes); 
         funcoes.setBounds(90, 22, 250, 20); 
        
          
          

       

          

         validate(); 
          
            
      }
So estou mais uma duvida!!!Como faço para adicinar um evento a este jcombobox????
brlima
sua_combo.add{nome_do_event}();

Mais info, look How To Use ComboBoxes ( Event Handling ).

fsf

Assim que adiciono um evento ao Jcombobox,
e este é atualizado os dados somem,
mas quando retiro o evento o combo é atualizado perfeitamente!!
O que pode ser???

funcoes.addActionListener(new ActionListener() {
						
   public void actionPerformed(ActionEvent event) {

 String a = (String) funcoes.getSelectedItem();
 //BuscarFuncoes(a);

}	});
Criado 23 de fevereiro de 2005
Ultima resposta 25 de fev. de 2005
Respostas 6
Participantes 2