Guten Morgen,
habe mir unter Nutzung einer Datenbank eine JCombobox eingepflegt die die Sucheinträge automatisch vervollständigt. Jedoch kann ich, warum auch immer, nur einen Buchstaben in das Feld eingeben, welche in Folge dessen gleich markiert und bei der nächsten Eingabe eines Buchstabens überschrieben wird. Das soll nicht passieren. Ich möchte das der Nutzer frei nach seinem willen seinen gewünschte Eingabe machen kann. Derzeit ist ja nur 1 Buchstabe möglich.
Vielen Dank!
Weiß wer wo der Fehler liegt? Im Anhang habe ich noch ein Bild des Fehlers angehangen.
habe mir unter Nutzung einer Datenbank eine JCombobox eingepflegt die die Sucheinträge automatisch vervollständigt. Jedoch kann ich, warum auch immer, nur einen Buchstaben in das Feld eingeben, welche in Folge dessen gleich markiert und bei der nächsten Eingabe eines Buchstabens überschrieben wird. Das soll nicht passieren. Ich möchte das der Nutzer frei nach seinem willen seinen gewünschte Eingabe machen kann. Derzeit ist ja nur 1 Buchstabe möglich.
Vielen Dank!
Weiß wer wo der Fehler liegt? Im Anhang habe ich noch ein Bild des Fehlers angehangen.
Java:
comboBox = new JComboBox();
comboBox.setBounds(30, 218, 105, 21);
comboBox.setEditable(true);
comboBox.setSelectedItem("");
comboBox.getEditor().getEditorComponent().addKeyListener(new KeyAdapter() { public void keyReleased(KeyEvent e) {
if (e.getKeyCode() != 38 && e.getKeyCode() != 40 && e.getKeyCode() != 10) {
String a = comboBox.getEditor().getItem().toString();
comboBox.removeAllItems();
int st = 0;
for (int i = 0; i < Abfragen.v.size(); i++) {
if (Abfragen.v.get(i).startsWith(a)) { comboBox.addItem(Abfragen.v.get(i)); st++; }
}
comboBox.getEditor().setItem(new String(a));
comboBox.hidePopup();
if (st != 0) { comboBox.showPopup(); }
}
} } );
frame.getContentPane().add(comboBox);