Hi,
ich hab ein Problem. Ich hab eine Gui entwickelt, welche auf einer Datenbank aufsetzt. Auf der Gui sind 3 Comboxen. Diese sollen gefüllt werden, abhängig je nach dem was in einer anderen Combobox steht.
Konkret, heißt das, ich habe eine Combobox Standort, eine Combobox Kennzeichen, eine Combobox Lage. An einem Standort befinden sich mehrere Lagen, welche ein oder mehrere Kennzeichen haben.
Wenn nun also ein Standort geählt wurde, sollen nur die Lagen angezeigt werden welche für diesen Standort in der Datenbank stehen. Ich hab es mit einem ActionListener probiert, aber jedesmal wenn nun die Gui initialisiert wird gibt es ne Nullpointer Exception, da ja noch kein Standort bzw keine Lage ausgewählt ist.
Wie kann ich das Problem lösen? ich hab keinen Plan.
Hier der Code der vom ActionListener aufgerufen wird:
ich hab ein Problem. Ich hab eine Gui entwickelt, welche auf einer Datenbank aufsetzt. Auf der Gui sind 3 Comboxen. Diese sollen gefüllt werden, abhängig je nach dem was in einer anderen Combobox steht.
Konkret, heißt das, ich habe eine Combobox Standort, eine Combobox Kennzeichen, eine Combobox Lage. An einem Standort befinden sich mehrere Lagen, welche ein oder mehrere Kennzeichen haben.
Wenn nun also ein Standort geählt wurde, sollen nur die Lagen angezeigt werden welche für diesen Standort in der Datenbank stehen. Ich hab es mit einem ActionListener probiert, aber jedesmal wenn nun die Gui initialisiert wird gibt es ne Nullpointer Exception, da ja noch kein Standort bzw keine Lage ausgewählt ist.
Wie kann ich das Problem lösen? ich hab keinen Plan.
Hier der Code der vom ActionListener aufgerufen wird:
Code:
private void getKennzeiche_Lage(){
String location = location_Ort_jComboBox.getSelectedItem().toString();
location_Lage_jCombobox.removeAllItems();
ArrayList lagen =new ArrayList();
dbconn.createStatement();
try {
lagen = dbconn.getLage(location);
} catch (SQLException e) {
this.showError(e.getMessage());
}
ListIterator itlage = lagen.listIterator(lagen.size()); //Lagen Box füllen
while(itlage.hasPrevious()) {
location_Lage_jCombobox.addItem(itlage.previous());
}
//------------------------ Kennzeichen ------------------------------
location_Kennzeichen_jComboBox.removeAllItems();
ArrayList kennzeichen = new ArrayList();
dbconn.createStatement();
try {
kennzeichen = dbconn.getKennzeichen(location,location_Lage_jCombobox.getSelectedItem().toString() );
} catch (SQLException e) {
this.showError(e.getMessage());
}
ListIterator itKennzeichen = kennzeichen.listIterator(kennzeichen.size());
while(itKennzeichen.hasPrevious()) {
location_Kennzeichen_jComboBox.addItem(itKennzeichen.previous());
}
String lage = location_Lage_jCombobox.getSelectedItem().toString().trim();
String kenn = location_Kennzeichen_jComboBox.getSelectedItem().toString().trim();
this.getLfdnr_Standort(location, lage, kenn);
}