Olá pessoal,
Estou retomando meus estudos em Java em tenho a seguinte situação num programa de questionarios que estou tentando desenvolver:
No meu exemplo abaixo tenho duas condições para um MouseListener, o primeiro IF é para seleção ÚNICA de um JList com checkboxes, funciona sem problemas, seleciona e desmarca, já no ELSE tem a função de selecionar mais de uma opção, porém limitado pela variável qtMULTIPLA conforme código, ele também funciona o número de selecões, porém não desmarca, então só náo estou conseguindo desmarcar as opções neste ELSE que pode selecionar mais de uma opção. Se alguém puder analisar o trecho do código e me ajudar, agradeço.
[code]
lista.addMouseListener(new MouseAdapter(){
public void mousePressed(MouseEvent e){
int index = lista.locationToIndex(e.getPoint());
if (LeitorDePerguntas.abrirMultiplas==false) {
if(index != -1){
boolean tem_marcado = false;
int index_selecionado = 0;
for (int i = 0; i < lista.getModel().getSize() && !tem_marcado; i++) {
JCheckBox checkbox =
(JCheckBox) lista.getModel().getElementAt(i);
tem_marcado = checkbox.isSelected();
index_selecionado = i;
}
if (!tem_marcado || tem_marcado && index_selecionado == index) {
JCheckBox checkbox =
(JCheckBox) lista.getModel().getElementAt(index);
checkbox.setSelected(!checkbox.isSelected());
}
repaint();
}
} else {
if(contaMultipla<qtMultipla){
index = lista.locationToIndex(e.getPoint());
if(index != -1){JCheckBox checkbox = (JCheckBox) lista.getModel().getElementAt(index);
checkbox.setSelected(!checkbox.isSelected());
repaint();
contaMultipla++;
System.out.println(contaMultipla);
}
}
}
}
}); [/code]