JComboBox - Métodos disparam ActionPerformed?

Pessoal, estou fazendo uma aplicação simples, para carregar um ComboBox, apartir de dados do Banco de dados. O Método:

public void carregaCombo() { DaoUsuario d = new DaoUsuario(); ArrayList usuarios = new ArrayList(d.getUsers()); JCBusuarios.removeAllItems(); for (int i = 0;i<usuarios.size();i++) { Usuario user = (Usuario) usuarios.get(i); JCBusuarios.addItem(user.getUsuario()); } }

Faz todo procedimento corretamente,
porém quando vou adicionar:

try { d.Insert(user); carregaCombo(); } catch (Exception e) { String err = "Erro ao inserir:\n"+e; JOptionPane.showMessageDialog(null,err); e.printStackTrace(); }

Lança: NullPointerException, E fui verificar o PQ disso, e percebi, que dá null, pois na rotina do evento ACTIONPERFOMED ele faz:

Usuario user = d.getUserByUser(JCBusuarios.getSelectedItem().toString()); if (user.getUsuario() != null) { JTid.setText(String.valueOf(user.getId())); JTusuario.setText(user.getUsuario()); JPsenha.setText(user.getSenha()); JCadm.setSelected(user.isAdmin()); }

Envia para rotina “getUserByUser” um null, pois ele faz o : removeAll() antes.

ok, isso pouco interessa, o que eu não consigo entender, é PQ os métodos - removeAllItems e AddItem, quando executados, CHAMAM o ActionPerformed ? ActionPerformed, não deveria ser invocado somente em um evento do usuário ? Há alguma forma de resolver este problema?

Abração,

Tente substituir ActionPerformed por itemStateChanged.

[]'s