Remover item em JCombobox

0 respostas
smota

Ola Pessoal,

Eu tenho um JCombobox (editable) com um punhado de itens, quero remover um item quando o cara pressionar DEL estando com o mouse sobre um dos itens da lista (sem seleciona-lo porem).

Fiz o seguinte código:

int focusedIndex = -1;

MouseListener cboServidorBDMouseListener = new MouseListener() {
  public void mouseEntered(MouseEvent e) {
    for(int i=0;i<cboServidorBD.getItemCount();i++) {
      if(cboServidorBD.getComponent(i)==e.getSource()) {
        focusedIndex = i;
      }
    }
  }
//demais metodos implementados
}

KeyListener cboServidorBDKeyListener = new KeyListener() {
  public void keyPressed(KeyEvent e) {
    if(cboServidorBD.isPopupVisible()) {
      if(e.getKeyCode()==KeyEvent.VK_DELETE) {
        cboServidorBD.remove(focusedIndex);
      }
    }
  }
//demais metodos implementados
}

//...
//registrando os listeners para cada component do combo
for(int i=0;i<cboServidorBD.getItemCount();i++) {
  cboServidorBD.getComponent(i).addKeyListener(cboServidorBDKeyListener);
  cboServidorBD.getComponent(i).addMouseListener(cboServidorBDMouseListener); 
}

A idéia é qd o mouse passar pelo componente ele setar o indice daquele componente no combo box … ao pressionar a tecla e for DEL eu removo o item.

Mas nao esta funcionando … o que fazer? :x

Eu nao posso registrar os eventos pro proprio JCombo pq nao quero o item selecionado …

Ideias :?: :roll:

Obrigado

Criado 15 de maio de 2003
Respostas 0
Participantes 1