F
Flow24
Gast
Hallo zusammen,
in meiner Java-Anwendung habe ich eine JTable, die Datensätze einer Datenbank-Tabelle beinhalten.
Über eine JComboBox kann der Benutzer auswählen nach welcher Spalte die JTable sortiert ist. Sobald der Benutzer einen Spaltennamen aus der Combobox auswählt, wird die Tabelle aktualisiert. Das läuft über die ItemStateChanged-Methode der Combobox:
Erst wird die Methode TabelleLoeschen aufgerufen, welche die aktuelle Tabelle löscht. Dann wird die Methode TabelleErstellen aufgerufen, welche die neue Tabelle erstellt.
Das Ganze funktioniert zwar, aber leider ruft das Programm
scheinbar die Methode TabelleErstellen zweimal auf, was natürlich auf die Performance geht.
Warum wird ItemStateChanged anscheinend zweimal aufgerufen, bei der Wahl eines Combobox-Eintrages??
Wie lässt sich das umgehen??
Gruß Flow24
in meiner Java-Anwendung habe ich eine JTable, die Datensätze einer Datenbank-Tabelle beinhalten.
Über eine JComboBox kann der Benutzer auswählen nach welcher Spalte die JTable sortiert ist. Sobald der Benutzer einen Spaltennamen aus der Combobox auswählt, wird die Tabelle aktualisiert. Das läuft über die ItemStateChanged-Methode der Combobox:
Code:
cmbSortierung.addItemListener( new ItemListener()
{
public void itemStateChanged( ItemEvent e )
{
JComboBox selectedChoice = (JComboBox)e.getSource();
TabelleLoeschen();
TabelleErstellen(umwSortierung(selectedChoice.getSelectedItem().toString()), txtBaum.getText(), cmbMahnstufe.getSelectedItem().toString());
tabellenPanel.repaint();
tabellenPanel.getComponent(0).invalidate();
tabellenPanel.validate();
if ( selectedChoice.getSelectedItem().equals("Ende"))
System.exit(0);
}
}
);
Erst wird die Methode TabelleLoeschen aufgerufen, welche die aktuelle Tabelle löscht. Dann wird die Methode TabelleErstellen aufgerufen, welche die neue Tabelle erstellt.
Das Ganze funktioniert zwar, aber leider ruft das Programm
scheinbar die Methode TabelleErstellen zweimal auf, was natürlich auf die Performance geht.
Warum wird ItemStateChanged anscheinend zweimal aufgerufen, bei der Wahl eines Combobox-Eintrages??
Wie lässt sich das umgehen??
Gruß Flow24