Ich habe eine Schaltfläche mit folgendem ActionListener:
Mein "Problem" jetzt: Der Anwender wählt beim ersten Klick auf die Schaltfläche die Option Namen aus. Dieses Kriterium wird nun in der Liste angezeigt. Der Anwender wählt nun beim zweiten Klick auf die Schaltfläche die Option Fall-Nummer aus. Und das wird nicht mehr in der Liste angezeigt. Was mache ich da falsch?
Code:
/*--------------------------------------------------------------*/
/* Schaltfläche "Neues Kriterium definieren"*/
/*--------------------------------------------------------------*/
class listeSortierenListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String text = "Welches Kriterium soll in der Liste angezeigt werden?";
stringSort = ( String ) JOptionPane.showInputDialog(null, "Kriterium für Liste", "Dialog", JOptionPane.QUESTION_MESSAGE, new ImageIcon("img/middle.gif"), sortierung, sortierung[0]);
if (stringSort == null) return;
if (stringSort != null)
{
String stringSortWert = stringSort;
if (stringSortWert.equals("Name"))
{
kriterium = "nachname";
liste.updateUI();
scrollPane.setViewportView(liste);
try
{
// Anzeige neuer Datensätze in der Liste
for (;Login.result.next();defaultlistmodel.addElement(anzeige_JList))
{
anzeige_JList = Login.result.getString(kriterium);
}
pack();
}
catch(SQLException a)
{
JOptionPane.showMessageDialog(null, " Fehler beim Datenbankabbau" + e,
"DB-Meldung", JOptionPane.ERROR_MESSAGE);
}
liste.addListSelectionListener(new SelectionHandler());
}
if (stringSortWert.equals("Fall-Nummer"));
{
kriterium = "fall_nummer";
liste.updateUI();
scrollPane.setViewportView(liste);
try
{
// Anzeige neuer Datensätze in der Liste
for (;Login.result.next();defaultlistmodel.addElement(anzeige_JList))
{
anzeige_JList = Login.result.getString(kriterium);
}
pack();
}
catch(SQLException a)
{
JOptionPane.showMessageDialog(null, " Fehler beim Datenbankabbau" + e,
"DB-Meldung", JOptionPane.ERROR_MESSAGE);
}
}
if (stringSortWert.equals("Status"))
{
kriterium = "status";
liste.updateUI();
scrollPane.setViewportView(liste);
try
{
// Anzeige neuer Datensätze in der Liste
for (;Login.result.next();defaultlistmodel.addElement(anzeige_JList))
{
anzeige_JList = Login.result.getString(kriterium);
}
pack();
}
catch(SQLException a)
{
JOptionPane.showMessageDialog(null, " Fehler beim Datenbankabbau" + e,
"DB-Meldung", JOptionPane.ERROR_MESSAGE);
}
}
}
}
}
Mein "Problem" jetzt: Der Anwender wählt beim ersten Klick auf die Schaltfläche die Option Namen aus. Dieses Kriterium wird nun in der Liste angezeigt. Der Anwender wählt nun beim zweiten Klick auf die Schaltfläche die Option Fall-Nummer aus. Und das wird nicht mehr in der Liste angezeigt. Was mache ich da falsch?