Guten Tag
Wie lese ich den eingegebenen Text bei selectedIndex = -1 -> aus?
Gibt immer einen leeren String zurück???
Wenn ich als ersten Eintrag "Bitte Auswählen / Erfassen" eingebe und diesen mit .selectedIndex = 0 anzeigen lasse funktioniert das. Sobald ich auch nur einen Buchstabe ändere wird der Index auf -1 gesetzt und wenn ich mit JComboBox.getEditor().getItem().toString den Text holen will, wird nur ein leere String zurück gegeben. Ebenso bei JComboBox.getSelectedItem()!
Wenn ich mit der Enter-Taste bestätige, krieg ich den geänderten Text mit JComboBox.getEditor().getItem().toString() korrekt zurück.
Wenn ich aber mit der TAB-Taste zum nächsten Eingabefeld springe (focusLost(FocusEvent e)) wird meine Eingabe gelöscht und
entsprechend ist der Rückgabetext = "" (leer).
Wie muss ich da vorgehen?
Beide Variante versucht:
und (darauf wird nicht reagiert):
Wie lese ich den eingegebenen Text bei selectedIndex = -1 -> aus?
Gibt immer einen leeren String zurück???
Wenn ich als ersten Eintrag "Bitte Auswählen / Erfassen" eingebe und diesen mit .selectedIndex = 0 anzeigen lasse funktioniert das. Sobald ich auch nur einen Buchstabe ändere wird der Index auf -1 gesetzt und wenn ich mit JComboBox.getEditor().getItem().toString den Text holen will, wird nur ein leere String zurück gegeben. Ebenso bei JComboBox.getSelectedItem()!
Wenn ich mit der Enter-Taste bestätige, krieg ich den geänderten Text mit JComboBox.getEditor().getItem().toString() korrekt zurück.
Wenn ich aber mit der TAB-Taste zum nächsten Eingabefeld springe (focusLost(FocusEvent e)) wird meine Eingabe gelöscht und
entsprechend ist der Rückgabetext = "" (leer).
Wie muss ich da vorgehen?
Beide Variante versucht:
Java:
myCombo.getEditor().getEditorComponent().addFocusListener(new FocusAdapter() {
public void focusLost(FocusEvent e) {
String valTxt = myCombo.getEditor().getItem().toString();
System.out.println("valTxt = " + valTxt);
}
});
Java:
myCombo.addFocusListener(new FocusAdapter() {
public void focusLost(FocusEvent e) {
String valTxt = myCombo.getSelectedItem();
System.out.println("valTxt = " + valTxt;
}
});
Zuletzt bearbeitet: