Problema com Switch case

Pessoal eu fiz 1 switch case q era pra funcionar assim, vc clica num radiobutton, ele roda esse metodo passando 1 valor de controle e baseado nesse valor, ele faz o switch:

    public void preencheCombo(int controle) {

        switch (controle) {

            case 1: {
                CTR_ManterProfessor ctrProf = new CTR_ManterProfessor(factory);
                List<Professor> profs = ctrProf.listarProfessores("nome_professor");
                jComboBoxPesquisa.removeAllItems();
                jComboBoxPesquisa.addItem("");
                for (Professor prof : profs) {
                    String aux = prof.getNome();
                    jComboBoxPesquisa.addItem(aux);

                }
            }

            case 2: {
                CTR_ManterDisciplina ctrDisc = new CTR_ManterDisciplina(factory);
                List<Disciplina> discs = ctrDisc.listarDisciplinas("nome");
                jComboBoxPesquisa.removeAllItems();
                jComboBoxPesquisa.addItem("");
                for (Disciplina disc : discs) {
                    String aux = disc.getNome();
                    jComboBoxPesquisa.addItem(aux);
                }
            }

            case 3: {
                CTR_ManterSala ctrSala = new CTR_ManterSala(factory);
                List<Sala> salas = ctrSala.listarSalas("nome");
                jComboBoxPesquisa.removeAllItems();
                jComboBoxPesquisa.addItem("");
                for (Sala sala : salas) {
                    String aux = sala.getSala();
                    jComboBoxPesquisa.addItem(aux);
                }

            }

            case 4: {
                CTR_ManterDia ctrDia = new CTR_ManterDia(factory);
                List<Dia> dias = ctrDia.listarDias("dia");
                jComboBoxPesquisa.removeAllItems();
                jComboBoxPesquisa.addItem("");
                for (Dia dia : dias) {
                    String aux = dia.getNome();
                    jComboBoxPesquisa.addItem(aux);
                }
            }

            case 5: {
                CTR_ManterHorario ctrHorario = new CTR_ManterHorario(factory);
                List<Horario> horarios = ctrHorario.listarHorarios("horario");
                jComboBoxPesquisa.removeAllItems();
                jComboBoxPesquisa.addItem("");
                for (Horario horario : horarios) {
                    String aux = horario.getNome();
                    jComboBoxPesquisa.addItem(aux);
                }
            }
        }
    }

o problema é que ele so retorna o ultimo case, n importa o q eu passe… o q q ta errado?

Coloque uma instrução break; para cada um dos cases. Assim ele pula os casos.

Vlw ae deu certim xD

Você tem que colocar um break no final das instruções de um case se não ele passa em todos até achar o break, tenta assim:

public void preencheCombo(int controle) {  
switch (controle) {  
    case 1: {  
        CTR_ManterProfessor ctrProf = new CTR_ManterProfessor(factory);  
        List<Professor> profs = ctrProf.listarProfessores("nome_professor");  
        jComboBoxPesquisa.removeAllItems();  
        jComboBoxPesquisa.addItem("");  
        for (Professor prof : profs) {  
        String aux = prof.getNome();  
        jComboBoxPesquisa.addItem(aux);  
        break;
    }  

Lembre-se de colocar o break nos outros.

Sim sim, ja colokei os breaks no final dos cases, funciono direitim, vlw xD