Problema ao carregar o Combobox [RESOLVIDO]

Seguinte… tenho uma classe com o Objeto combobox.
e nela quero que carregue apenas um campo do banco.
Porém na hora que fiz o select ele me traz todo o conteudo do banco
bagunçado.
vi alguns sites e achei Muita coisa boa porém não oque quero.

queria que visse somente o campo selecionado

Segue a classe

import java.awt.GridBagConstraints;  
import java.awt.GridBagLayout;  
import java.awt.GridLayout;  
import java.awt.Insets;  
import java.awt.event.ActionEvent;  
import java.awt.event.ActionListener;  
import java.sql.Connection;  
import java.sql.DriverManager;  
import java.sql.ResultSet;  
import java.sql.SQLException;  
import java.util.ArrayList;  
import java.util.List;  
  
import javax.swing.JButton;  
import javax.swing.JComboBox;  
import javax.swing.JDialog;  
import javax.swing.JFrame;  
import javax.swing.JLabel;  
import javax.swing.JMenuItem;  
import javax.swing.JOptionPane;  
import javax.swing.JPanel;  
import javax.swing.JPopupMenu;  
import javax.swing.JScrollPane;  
import javax.swing.JTable;  
import javax.swing.JTextField;  
  
import br.com.impacta.cliente.app.action.WindowCloseAction;  
import br.com.impacta.cliente.app.action.bairro.BairroAlterarAction;  
import br.com.impacta.cliente.app.action.bairro.BairroApagarAction;  
import br.com.impacta.cliente.app.action.bairro.BairroEscolherMunicipioAction;  
import br.com.impacta.cliente.app.action.bairro.BairroEscolherUfAction;  
import br.com.impacta.cliente.app.action.bairro.BairroOkAction;  
import br.com.impacta.cliente.app.action.mouse.PopupMouseAdapter;  
import br.com.impacta.cliente.domain.model.Municipio;  
import br.com.impacta.cliente.service.BairroService;  
import br.com.impacta.cliente.service.impl.DefaultBairroService;  
  
import com.mysql.jdbc.Statement;  
  
public class CadastroBairroView extends JDialog implements ActionListener {  
  
    private static final long serialVersionUID = -2761006226478866005L;  
  
    private JComboBox<Object> ufJComboBox;  
    private JComboBox<Object> municipioJComboBox;  
    private JTextField nomeJTextField;  
    private JTable bairrosJTable;  
    private JButton okJButton;  
    private Object aAlterar = null;  
    private BairroService service;  
    private BairroEscolherMunicipioAction view;  
    private BairroEscolherUfAction view2;  
  
    public CadastroBairroView(JFrame mainView) {  
        super();  
  
        this.initComponents();  
        this.initPainel();  
        this.initPopupMenu();  
        this.initListeners();  
        this.initServices();  
        this.initcombobox();  
  
        this.setTitle("[IMPACTA] Cadastro de bairros");  
        this.setSize(630, 320);  
        this.setResizable(false);  
        this.setLocationRelativeTo(mainView);  
        this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);  
        this.setModalityType(ModalityType.DOCUMENT_MODAL);  
        this.setAlwaysOnTop(true);  
        this.setModal(true);  
    }  
  
    private void initcombobox() {  
  
        try {  
  
            try {  
  
            } catch (Exception cause) {  
                cause.printStackTrace();  
            }  
  
            try {  
  
                Class.forName("com.mysql.jdbc.Driver");  
  
            } catch (ClassNotFoundException ex) {  
                ex.printStackTrace();  
            }  
  
            Connection connection = (Connection) DriverManager.getConnection(  
                    "jdbc:mysql://localhost:3306/cliente-db", "impacta",  
                    "impacta");  
            Statement query = (Statement) connection.createStatement();  
  
            String sql = "SELECT * FROM municipio ";  
  
            ResultSet rs = query.executeQuery(sql);  
  
            List<Municipio> lisMunicipios = new ArrayList<Municipio>();  
  
            while (rs.next()) {  
                Municipio municipio = new Municipio();  
                municipio.setNome(rs.getString("id_uf"));  
                ufJComboBox.addItem(lisMunicipios);  
  
                lisMunicipios.add(municipio);  
  
            }  
  
        } catch (SQLException cause) {  
            cause.printStackTrace();  
            JOptionPane.showMessageDialog(null, "Não foi possivel Carregar");  
  
        }  
  
    }  
  
    private void initServices() {  
        this.service = new DefaultBairroService();  
  
    }  
  
    private void initComponents() {  
  
        // Criar array de UFs aqui.  
  
        Object[] ufs = new Object[] { "ESCOLHA" };  
  
        Object[] municipios = new Object[] { "ESCOLHA" };  
  
        this.ufJComboBox = new JComboBox<>(ufs);  
  
        this.municipioJComboBox = new JComboBox<>(municipios);  
  
        this.nomeJTextField = new JTextField();  
        this.bairrosJTable = new JTable(new Object[0][0], createColumnNames());  
        this.okJButton = new JButton("Ok");  
    }  
  
    private Object[] createColumnNames() {  
        return new Object[] { "Bairro", "Município", "UF" };  
    }  
  
    private void initPainel() {  
        JPanel painel = new JPanel(new GridBagLayout());  
        JPanel form = initForm();  
  
        painel.add(form, new GridBagConstraints(0, 0, 1, 1, 0, 0,  
                GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,  
                new Insets(0, 0, 0, 0), 0, 0));  
  
        painel.add(new JScrollPane(bairrosJTable), new GridBagConstraints(0, 1,  
                1, 1, 0, 0, GridBagConstraints.CENTER,  
                GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 200));  
  
        this.add(painel);  
    }  
  
    private JPanel initForm() {  
        // FIXME Ajustar layout para melhorar visual da janela.  
        JPanel form = new JPanel(new GridLayout(2, 4));  
  
        form.add(new JLabel("UF:"));  
        form.add(ufJComboBox);  
  
        form.add(new JLabel("Município:"));  
        form.add(municipioJComboBox);  
        form.add(new JLabel("Bairro:"));  
        form.add(nomeJTextField);  
        form.add(okJButton);  
  
        return form;  
    }  
  
    private void initPopupMenu() {  
        final JPopupMenu menu = new JPopupMenu();  
        JMenuItem item;  
  
        item = new JMenuItem("Alterar...");  
        item.addActionListener(new BairroAlterarAction(ufJComboBox,  
                municipioJComboBox, nomeJTextField, bairrosJTable));  
        menu.add(item);  
  
        item = new JMenuItem("Apagar...");  
        item.addActionListener(new BairroApagarAction(bairrosJTable));  
        menu.add(item);  
  
        bairrosJTable.addMouseListener(new PopupMouseAdapter(menu));  
    }  
  
    private void initListeners() {  
        this.ufJComboBox.addActionListener(new BairroEscolherUfAction(  
                ufJComboBox, municipioJComboBox, this));  
  
        this.municipioJComboBox  
                .addActionListener(new BairroEscolherMunicipioAction(  
                        municipioJComboBox, bairrosJTable, this));  
  
        this.okJButton.addActionListener(new BairroOkAction(municipioJComboBox,  
                nomeJTextField, bairrosJTable, this));  
  
        this.addWindowListener(new WindowCloseAction(this, "[IMPACTA] Bairros"));  
    }  
  
    public JComboBox<Object> getUfJComboBox() {  
        return ufJComboBox;  
    }  
  
    public void setUfJComboBox(JComboBox<Object> ufJComboBox) {  
        this.ufJComboBox = ufJComboBox;  
    }  
  
    public JComboBox<Object> getMunicipioJComboBox() {  
        return municipioJComboBox;  
    }  
  
    public void setMunicipioJComboBox(JComboBox<Object> municipioJComboBox) {  
        this.municipioJComboBox = municipioJComboBox;  
    }  
  
    public JTextField getNomeJTextField() {  
        return nomeJTextField;  
    }  
  
    public void setNomeJTextField(JTextField nomeJTextField) {  
        this.nomeJTextField = nomeJTextField;  
    }  
  
    public JTable getBairrosJTable() {  
        return bairrosJTable;  
    }  
  
    public void setBairrosJTable(JTable bairrosJTable) {  
        this.bairrosJTable = bairrosJTable;  
    }  
  
    public JButton getOkJButton() {  
        return okJButton;  
    }  
  
    public void setOkJButton(JButton okJButton) {  
        this.okJButton = okJButton;  
    }  
  
    public Object getaAlterar() {  
        return aAlterar;  
    }  
  
    public void setaAlterar(Object aAlterar) {  
        this.aAlterar = aAlterar;  
    }  
  
    public BairroService getService() {  
        return service;  
    }  
  
    public void setService(BairroService service) {  
        this.service = service;  
    }  
  
    public BairroEscolherMunicipioAction getView() {  
        return view;  
    }  
  
    public void setView(BairroEscolherMunicipioAction view) {  
        this.view = view;  
    }  
  
    @Override  
    public void actionPerformed(ActionEvent e) {  
        // TODO Auto-generated method stub  
  
    }  
  
    public BairroEscolherUfAction getView2() {  
        return view2;  
    }  
  
    public void setView2(BairroEscolherUfAction view2) {  
        this.view2 = view2;  
    }  

Personalize sua consulta ao banco de dados…

Pois com este comando:

String sql = "SELECT * FROM municipio "; 

Você esta selecionando tudo da tabela municipio.

Boa tarde amigo.

Mesmo usando Select id_uf from municipio

Continua vindo tudo um do lado do outro.

Era pra lista ser adicionada n vezez ao JComboBox?

[code] List lisMunicipios = new ArrayList();

        while (rs.next()) {    
            Municipio municipio = new Municipio();    
            municipio.setNome(rs.getString("id_uf"));    
            ufJComboBox.addItem(lisMunicipios);       
            lisMunicipios.add(municipio); 

}[/code]

então isso ai já está no Codigo.
o problema é que vem o campo que eu quero mas vem tudo acumulado um do lado do outro .

Vou mandar uma imagem

[img]

[/img]

Eu sei que esta no seu codigo, mas o pedaço de codigo que eu destaquei está correto?

Está sim

Se o ResultSet tiver 10 campos, quantas listas vão ser adicionadas ao comboBox?

     //Nova lista de municipios
     List<Municipio> lisMunicipios = new ArrayList<Municipio>();      
          
                //Enquanto  verdade
                while (rs.next()) {   
                    
                    //Novo municipio    
                    Municipio municipio = new Municipio();      
                    municipio.setNome(rs.getString("id_uf"));      
                    
                    // ADICIONAR LISTA DE MUNICIPIOS AO COMBOBOX
                    ufJComboBox.addItem(lisMunicipios); 
                    //Adicionar municipio a lista
                    lisMunicipios.add(municipio);   
    }  

vai adicionar quantas listas eu quiser adicionar ali.

Fazendo isto aqui.

ufJComboBox.addItem(lisMunicipios); 

Dentro do while vai ser adicionado municipios enquanto tiver dados. O ideal seria você tirar ele e depois fazer um foreach.

E dps que fizer isso, use distinct pra buscar só municipios diferentes, já que sua db esta reduntante

Hummm… entendi… vou fazer um foreach…vamos ver se resolve

Bom pessoal consegui dar uma adiantada aqui… agradeco a todos pela ajuda.
sendo assim… Obrigado.