Hallo, ich habe das Problem, dass der unten stehende ListSelectionListener bei getSelectedValue() immer nur den ersten Eintrag zurückgibt. Auch dann, wenn augenscheinlich ein anderer markiert ist (hinterlegt)
Die Größe des Models stimmt auch, also es sind mehrere Einträge darin vorhanden.
DefaultListModel modelCauses = new DefaultListModel();
JList jListCauses = new JList(modelCauses);
jListCauses.setBackground(java.awt.SystemColor.info);
JScrollPane jScrollingCauses = new JScrollPane(jListCauses);
jScrollingCauses.setBounds(new java.awt.Rectangle((1024-3\*20)/2+34,430,(1024-3\*20)/2,50));
jContentPane.add(jScrollingCauses);
//...
jListCauses.addListSelectionListener( new ListSelectionListener(){
public void valueChanged( ListSelectionEvent e ){
if (e.getValueIsAdjusting() == false) {
if (jListCauses.getSelectedIndex() == -1) {
} else {
loesungenAnzeigen(String.valueOf(jListCauses.getSelectedValue()));
System.out.println("Selected Value: " + String.valueOf(jListCauses.getSelectedValue()));
System.out.println(modelCauses.size());
}
}
}
});
Merkwürdig ist für mich, dass ich den richtigen Wert zurückerhalte, wenn ich Folgendes mache:
jListCauses.setSelectedIndex(1); //Also das zweite Element
Kann mir jemand sagen, was da verkehrt läuft?
Gruß Nico