Adicionar items em uma JComboBox

Como faco para adicionar items em em uma JCombobox mas os items estao em um BD. Eu já tentei carregar os dados em um array mas deu erro, e tambem em um arraylist, para depois adiciona-los no Combobox, mas quando vou adicina-lo ele apenas adicionava o ultimo elemento. E tambem imaginei adicionar direto quando estou pesquisando.



est.addItem(rs.getString("estado"));

Mas tambem deu erro.

Alguem pode me ajudar???

Seu JComboBox é carregado na inicializaçao do sistema?
Se for, vc pode retornar os valores do ResultSet dentro de um Vector (funciona semelhante ao ArrayList) e daí tem Um Contrutor de JComboBox que recebe como parametro este Vector:


Vector vetor = new Vector();

ResultSet rs = statement.executeQuery(sql);
//...
//...
while(rs.next())
 vetor.addElement(rs.getString());

//...
//...

JComboBox combo = new JComboBox(vetor);

De qualquer forma dê uma olhada também na API de JComboBox.

Falow.

http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComboBox.html

Crie um DefaultComboBoxModel passando como parametro o array com os elementos e depois atribua esse model à sua combo box através do método setModel().

exemplo:

Object[] items = <seu array de objetos>;
DefaultComboBoxModel model = new DefaultComboBoxModel(items);
comboBox.setModel(model);

Abraços,

gqueiroz

[code]/*

  • Created on 05/05/2006
  • To change the template for this generated file go to
  • Window>Preferences>Java>Code Generation>Code and Comments
    */
    package br.eti.kinoshita;

import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;

/**

  • @author bruno

  • To change the template for this generated type comment go to

  • Window>Preferences>Java>Code Generation>Code and Comments
    */
    public class MainFrame extends JFrame
    {
    MainFrame(String title)
    {
    super(title);
    }

    public static void main(String[] args) {
    MainFrame m = new MainFrame(“GUJ Swing”);
    m.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

     JComboBox box = new JComboBox();
     
     JPanel container = new JPanel();
     
     box.addItem("--Escolha um Item--");
     box.addItem("Item 1");
     box.addItem("Sair");
     container.add(box);
     		
     m.getContentPane().add(container);
    
     m.pack();
     m.setLocationRelativeTo(null);
     m.setVisible(true);
    

    }
    }
    [/code]

christianovale sua implementação deu quase certa mas só tem um problma ela não pula linha.
gqueiroz sua implementação nao deu certo.

[quote=Vijava]christianovale sua implementação deu quase certa mas só tem um problma ela não pula linha.
gqueiroz sua implementação nao deu certo.[/quote]

Amigo, eles forneceram os codigos para você ter uma noção do que se trata, não era a intensão deles te dar o problema resolve. Pegue as informações e adapte as suas necessidades.

Até;

[quote=christianovale]Seu JComboBox é carregado na inicializaçao do sistema?
Se for, vc pode retornar os valores do ResultSet dentro de um Vector (funciona semelhante ao ArrayList) e daí tem Um Contrutor de JComboBox que recebe como parametro este Vector:


Vector vetor = new Vector();

ResultSet rs = statement.executeQuery(sql);
//...
//...
while(rs.next())
 vetor.addElement(rs.getString());

//...
//...

JComboBox combo = new JComboBox(vetor);

De qualquer forma dê uma olhada também na API de JComboBox.

Falow.

http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComboBox.html[/quote]

Consegui fazer dessa forma…