JList - como remover um item(ou mais)?

E aí gente, beleza?
Eu estou aqui com uma dúvida.

Eu creio que é algo simples, e apesar de eu ter procurado em vários lugares não achei então vou postar a dúvida aqui.

O que eu gostaria é de saber como remover um item de um JList(preciso remover todos na verdade) pelo NetBeans.

Eu vi que tem um método que remove determinado index, mas eu já tentei e não adianta.
Preciso na verdade que ao apertar um botão seja esvaziada a lista inteira.

Tentei isso no Netbeans:
for(int i = 0 ; i < jList1.getModel().getSize(); i++ ){

jList1.remove(i);

}

Mas o código dá IndexOutOfBounds…então logicamente há algo errado.
Vi algo sobre o DefaultListModel mas não me adiantou nada.

Alguém pode me dar uma ajuda, por favor?

Desde já agradeço.

Olá… Tenta colocar o i=1 iniciando em 1 ao invés de 0… =)
for(int i = 1 ; i <= jList1.getModel().getSize(); i++ ){

Quantos elementos tem a sua lista?

O que acontece é o seguinte, quando você remove o elemento 0 (na primeiro iteração)
O elemento 1, vai para a posição 0, já na segunda interação ele vai tentar remover um elemento q talvez não exista.

Se a sua lista tiver mais de 1 elemento em algum momento o seu código pode pedir para remover um indice que não existe mais…

Será q consegui me explicar?

Use o DefaultListModel.

Para remover todos os itens, use o método clear().

Leia: Adding Items to and Removing Items from a List

Nao sei se eh tarde demais pra ajudar, sempre tem alguem que precisa disso :

Eu tive uma dor de cabeca pra trabalhar com as JLists. Tinha dois JLists, criei dois botoes um pra mover items do JList 1 para o segundo e o outro botao pra mover do segundo para o primeiro. Os meus Jlist tinham que permitir multi selecao tambem, fiz o seguinte :


addtoList.addActionListener( new ActionListener() {

	public void actionPerformed(ActionEvent e) {
			
		if (listPermission.isSelectionEmpty()) {   JOptionPane.showMessageDialog(null, "No items selected","info", JOptionPane.INFORMATION_MESSAGE);

		}
		else {
    
		    Object[] obj = listPermission.getSelectedValues();
			    
		    for(int i=0; i<obj.length; i++) {

			listmodelgroup.addElement( obj[i] );
			listmodel.removeElement( obj[i] );

		    }
			    
		}		
	    }    
		    
	});

“addtoList” eh o botao pra mover items do primeiro para o segundo JList.
“listpermission” eh a primeira JList usando o metodo getSelectedValues retorna a lista de objetos selecionados na lista, joguei para um array de Objects.

Depois so montei um loop neste array de Objects e removi o objeto do ListModel da primeira JList e adicionei no ListModel da segunda JList :

listmodelgroup.addElement( obj[i] );
listmodel.removeElement( obj[i] );

//Daniel

Para remover todos os items de um JList você pode remover do último para o primeiro, ou então remover o primeiro até que não haja mais itens na lista. OK?

Beleza pessoal.
Consegui aqui.

Eu resolvi através da definição de um padrão no NetBeans mesmo. Depois foi só usar os métodos desse padrão que removeu tranquilamente.

Abraço.