Excluir um item de um JList

4 respostas
E
DefaultListModel modelo = new DefaultListModel();
        jlServeAberta.setModel(modelo);
        jlServeAberta.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
         int selecionados = jlServeAberta.getSelectedIndex();
             if(selecionados > -1){
               ((DefaultListModel)(jlServeAberta.getModel()))
              .remove(selecionados);

                }

estou usando esse código pra remover um item de uma lista...mas esta removendo todos os itens...
se alguem puder ajudar eu agradeço!!

abraço

4 Respostas

thundercas

Eiras,

Você está se confundindo… Veja bem, no seu código você define que seu Model será “modelo” :

Em seguida, você recupera este modelo e o remove:

Ou seja, você retirou o model que lá estava… Onde está a referencia para a classe JList??

lina

Oi,

Por acaso seu código não está dentro de um looping não?

Tchauzin!

E

a referencia ao jlist é “jlServeAberta”,que é o nome da minha lista…

ViniGodoy

Você começa seu código definindo um model novo, limpo, para sua list:

DefaultListModel modelo = new DefaultListModel(); jlServeAberta.setModel(modelo);

Isso, por si só, já apagou todo conteúdo.

Depois, você tenta pegar um índice selecionado. Como você trocou de model, isso sempre retornará -1:

int selecionados = jlServeAberta.getSelectedIndex();

Em seguida, vem um if inútil.

Sugestão: A julgar pelo seu outro tópico do mesmo assunto, você não entende absolutamente nada do que está fazendo. Está tentando programar por tentativa e erro.
Procure entender para que serve um model, e como ele interage com a list.

O primeiro passo para se programar bem, é entender exatamente como os componentes que você está usando funcionam.

Criado 1 de dezembro de 2009
Ultima resposta 2 de dez. de 2009
Respostas 4
Participantes 4