Hi Leute, ich hab da ein Problem mit meiner Abfrage.
Ich frage nach dem backspace (Löschen-Taste) ab, aber jedes Mal gelange ich in den Else-Block. Was mache ich falsch? Laut meiner Recherche soll das nur funktionieren, wenn es im "keyTyped" ausgeführt wird, was es ja auch ist. Ich finde aktuell keine Lösung dafür und würde mich freuen, wenn mir einer helfen könnte.
Der rest des Codes funktioniert soweit (wenn das if raus is arbeitet er).
Zum Code selbst: ich möchte meine JComboBox so anpassen, dass er mir die Eingaben anzeigt (Dropdown-menü) und wenn er sich vertippt und etwas löschen will, er die ganze Liste wieder angezeigt bekommt.
Und ja ich weiss, dass er aktuell nur nach dem ersten Zeichen guckt
Ich frage nach dem backspace (Löschen-Taste) ab, aber jedes Mal gelange ich in den Else-Block. Was mache ich falsch? Laut meiner Recherche soll das nur funktionieren, wenn es im "keyTyped" ausgeführt wird, was es ja auch ist. Ich finde aktuell keine Lösung dafür und würde mich freuen, wenn mir einer helfen könnte.
Der rest des Codes funktioniert soweit (wenn das if raus is arbeitet er).
Zum Code selbst: ich möchte meine JComboBox so anpassen, dass er mir die Eingaben anzeigt (Dropdown-menü) und wenn er sich vertippt und etwas löschen will, er die ganze Liste wieder angezeigt bekommt.
Und ja ich weiss, dass er aktuell nur nach dem ersten Zeichen guckt
Java:
kundenName_TF.getEditor().getEditorComponent().addKeyListener( new KeyAdapter(){ // TODO Marker
@Override
public void keyPressed(KeyEvent e){
}
@Override
public void keyTyped(KeyEvent e) {
System.out.println(e.getKeyChar());
if(e.getKeyCode() == KeyEvent.VK_BACK_SPACE){
ArrayList<String> ergebnisSuche = new ArrayList<String>();
String input = String.valueOf(e.getKeyChar());
System.out.println(e.getKeyChar() + " wurde gedrückt");
for(int ii = 0; ii < a.result.size(); ii++){
if(a.result.get(ii).getKundenname().startsWith(input)){
ergebnisSuche.add(a.result.get(ii).getKundenname());
}
}
filter(ergebnisSuche); // doppelte Einträge entfernen
kundenName_TF.model.entries.retainAll(ergebnisSuche); //retain = behalten (Hier werden die selektierten Ergebnisse behalten)
}else{
System.out.println("test");
//// kundenName_TF.model.entries.replaceAll();
// for(int jj = 0; jj < a.result.size(); jj++){
// kundenName_TF.model.entries.add(a.result.get(jj).getKundenname());
}
// }
}
@Override
public void keyReleased(KeyEvent e) {
}
});