DefaultListModel lista = new DefaultListModel();
teste = (String) JLIST1.getSelectedValue();
lista.addElement(teste);
JLIST2.setModel(lista);
[/code]
Bom galera fiz este codigo em um botão q toda vez quando clicado ele joga os valores selecionados do JList1 no JList2, O PROBLEMA é que ele joga somente um valor selecionado (o primeiro selecionado) e tambem qd clicado mais de uma vez ele substitui o valor ja presente no JLIST2 ao invez de adicionar outro ELEMENTo na lista…
Como eu posso corrigir este codigo para suprir as minhas necessidades ?
getSelectedValues
public Object[] getSelectedValues()
Returns an array of the values for the selected cells. The returned values are sorted in increasing index order.
Percebeu?
DefaultListModel lista = new DefaultListModel();
teste = (String) JLIST1.getSelectedValue();
lista.addElement(teste);
JLIST2.setModel(lista);
[/code]
Bom galera fiz este codigo em um botão q toda vez quando clicado ele joga os valores selecionados do JList1 no JList2, O PROBLEMA é que ele joga somente um valor selecionado (o primeiro selecionado) e tambem qd clicado mais de uma vez ele substitui o valor ja presente no JLIST2 ao invez de adicionar outro ELEMENTo na lista…
Como eu posso corrigir este codigo para suprir as minhas necessidades ?
Obrigado…
Até .o/[/quote]
1º getSelectedValues retorna um array de Object (Object[])
2º Voce tera que percorrer o array e adicionar os valores dele no outro list
3º a cada chamda do metodo voce cria um novo DefaultListModel a solução será pegar o ListModel já existente e adicionar os valores a este
Com o seu código seria isso:
String[] teste;//Mudando a declaração de uma String simples apra um array
DefaultListModel lista = (DefaultListModel) JLIST2.getModel();//Pegando os ListModel já existente
teste = (String[]) JLIST1.getSelectedValues();//Pegando todos os valores e convertendo para String[]
for(String s : teste)//Percorrendo a lista
lista.addElement(s);//adicionando ao model
JLIST2.setModel(lista);