Gostaria de por os bairros existente em um combobox, ao invés de mostrar o código

Na prova final da cadeira de Java, no curso técnico tenho que apresentar um programa desktop de supermercado. Ele tem uma tela splash, a tela de login, a tela principal, a tela que registra as vendas, três telas de cadastro: de setores, de produtos e de cliente, cada uma dessas telas, pelo botão Localizar, levam a sua tela que contém tabela que lista os registros salvos em banco de dados MySQL. E o projeto está organizado em MVC, tenho os pacotes control, dal, model e view.

Tudo que descrevi já foi feito, mas apresentei para que tenham uma ideia geral do que é que estou fazendo.

Minha dúvida na verdade é com relação a tela de cadastro de clientes. Nela tenho os campos: Código, Cpf, Cliente, Sexo, Endereço, Número, Bairro, Telefone e Data Cadastral. E ao clicar em salvar, os respectivos dados são gravados na tabela Cliente graças ao método salvar na classe ClienteDAO, Veja:

public int salvar(Cliente cliente) throws SQLException {

	String inserir = "insert into cliente (nome, cpf, telefone, endereco, numero, bairro_id, sexo) values ('"+cliente.getDescricao()+"','"+
			cliente.getCpf()+"','"+cliente.getTelefone()+"','"+cliente.getEndereco()+"','"+cliente.getNumero()+"','"+
			cliente.getBairro()+"','"+cliente.getSexo()+"');";
	
	ConnectionFactory.conectar();
	stm = ConnectionFactory._conexao.prepareStatement(inserir);
	return stm.executeUpdate();

}

Já tenho no pacote model os atributos, observados nesse código, encapsulados, e no pacote dal, o método conectar() criado, ou seja, consigo salvar, funciona, MAS AQUI VEM MINHA DÚVIDA:

PARA SALVAR PRECISO POR NO CAMPO BAIRRO UM NÚMERO, E QUERO PODER DIGITAR UM BAIRRO MESMO. Posso explicar porque está assim, o que não sei é como mudar.
Está assim, porque o campo “bairro” é a chave estrangeira “bairro_id” vinda da chave primária “id” que pertence a tabela “bairro”. Sobre a tabela “bairro”, ela tem o id, a descricao, a data_cad e o cidade_id.

Inclusive, gostaria de por os bairros existente em um combobox. Alguém pode me ajudar?

//Para preencher o combo box
private void carregaComboBairro() {
        try {
            listBairros = Carrega os bairros na lista;
            DefaultComboBoxModel boxBairro = new DefaultComboBoxModel();
            for (int i = 0; i < listBairros; i++) {
                boxBairro.addElement(listBairros.get(i));
            }
            comboBoxBairro.setModel(boxBairro);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(panelComponentes, "Não foi possível carregar Bairros.\n" + e.getMessage(), "Mensagem do Sistema", JOptionPane.ERROR_MESSAGE);
            e.printStackTrace();
        }
    }
	
	
	//Para recuperar o bairro selecionado
	Bairro bairroSelecionado = (Bairro) comboBoxBairro.getSelectedItem()
	
	não esquece de dentro do bean Bairro incluir o seguinte método
	@Override
    public String toString() {
        return descricao; // aqui vai o campo que você quer mostrar
    }

Como você está salvando no db a chave estrangeira, poderia criar um enum informando o código e o nome do bairro, assim, quando ele puxar do banco, iria verificar qual o nome referente aquele id e popular o comboBox.