Tengo una lista J con algunos artículos. He agregado un oyente para cuando se selecciona un elemento en la lista. Aquí está el código de lo que sucede cuando se selecciona un elemento de la lista:¿Por qué las selecciones JList ocurren dos veces?
private void questionaireNamesListValueChanged(ListSelectionEvent evt) {
try {
inputPanel.setEnabled(false);
inputPanel.setVisible(false);
inputTextField.setText("");
inputStatusLabel.setText("");
int questionaireIndex = questionaireNamesList.getSelectedIndex();
// Why will this be printed twice?
System.out.println("Questionaire Index: " + questionaireIndex);
if (remoteQuestionServer.getQuestionCount(questionaireIndex) == 5) {
answerQuestionButton.setEnabled(true);
addQuestionButton.setEnabled(false);
} else {
addQuestionButton.setEnabled(true);
answerQuestionButton.setEnabled(false);
}
} catch (RemoteException ex) {
ex.printStackTrace();
}
}
Como se puede anterior puse una declaración System.out.print
y cada vez que hago clic en algo en la lista consigo dos ouputs de ese elemento , p.ej.
Questionaire Index: 4
Questionaire Index: 4
Questionaire Index: 2
Questionaire Index: 2
Questionaire Index: 0
Questionaire Index: 0
Questionaire Index: 2
Questionaire Index: 2
Alguna idea de por qué ocurre esto?
Gracias, Patrick
Si el índice 4 no está seleccionado, ¿por qué getSelectedIndex() devuelve 4 y no -1? –
Edité mi respuesta para explicar. – Eddie
Usted dice que si el índice n. ° 4 no está SELECCIONADO, puede devolver legalmente 2 o -1. ¿Por qué 2? –