Ich habe folgendes vor: In der Liste einer JComboBox soll eine Anzahl von Suchbegriffen vorliegen. Die Box soll editierbar sein. Ich kann also aus den vorgegeben Begriffen einen auswählen, oder, wenn das zu unübersichtlich ( weil zuviele Begriffe) wird, selbst einen eingeben. Dann soll nach der Eingabe des ersten Buchstaben das Menü aufgehen und dort nach jeder weiteren Buchstabeneingabe nur noch die jeweils passenden Einträge angezeigt werden, also so ähnlich wie eine Adressleiste im Firefox/IE.
Ich wollte nun also nach jedem Tastendruck den Inhalt des Textfeldes auslesen, mit der Liste vergleichen und die nicht mehr passenden Einträge entfernen. Und beim KeyListener liegt mein Problem:
Hier sollte ja bei jedem Tastendruck zumindest erstmal diese Ausgabe kommen, was aber nicht geschieht. Was ist mein Denkfehler? Ist das Vorgehen (abgesehen von dem KeyListener) erst einmal in Ordnung oder gibt es prinzipiell einen günstigeren Weg mein Ziel zu erreichen?
Ich wollte nun also nach jedem Tastendruck den Inhalt des Textfeldes auslesen, mit der Liste vergleichen und die nicht mehr passenden Einträge entfernen. Und beim KeyListener liegt mein Problem:
Code:
JComboBox cbSw1 = new JComboBox(data);
cbSw1.setBounds(10,40,150,20);
cbSw1.setEditable(true);
cbSw1.setVisible(true);
cbSw1.addKeyListener(new KeyListener()
{
public void keyReleased(KeyEvent ke1){}
public void keyTyped(KeyEvent ke2){}
public void keyPressed(KeyEvent ke3)
{
System.out.println("Taste betätigt");
}
});
Hier sollte ja bei jedem Tastendruck zumindest erstmal diese Ausgabe kommen, was aber nicht geschieht. Was ist mein Denkfehler? Ist das Vorgehen (abgesehen von dem KeyListener) erst einmal in Ordnung oder gibt es prinzipiell einen günstigeren Weg mein Ziel zu erreichen?