F
Florian Scheidler
Gast
Hallo zusammen,
für meine Java-Anwendung gibt es eine Datenbank mit Lieferanten. In der Anwendung kann der Benutzer die Lieferanten nun aus einer JComboBox auswählen. Da es eine Menge Lieferanten gibt, würde ich dem Benutzer gerne die Möglichkeit geben, direkt in die JComboBox ein Stichwort einzutragen und den passenden Kunden automatisch zu finden. Die JComboBox habe ich als mit setEditible(true) als editierbar gekennzeichnet.
Zudem weise ich der JComboBox einen KeyListener zu, der beim Eintragen von Buchstaben über die Tastatur, immer wieder prüft ob ein Lieferant mit diesem Stichwort vorhanden ist.
Leider passiert beim Eintippen in die ComboBox gar nichts, der KeyListener scheint nicht zu greifen:
Selbst die Ausgaben "KeyPressed", "KeyReleased" und "KeyTyped" werden nicht ausgegeben.
Kann mir jemand sagen, warum bei der Eingabe von Tasten in eine editierbare ComboBox das KeyEvent nicht greift???
Gruß Florian Scheidler
für meine Java-Anwendung gibt es eine Datenbank mit Lieferanten. In der Anwendung kann der Benutzer die Lieferanten nun aus einer JComboBox auswählen. Da es eine Menge Lieferanten gibt, würde ich dem Benutzer gerne die Möglichkeit geben, direkt in die JComboBox ein Stichwort einzutragen und den passenden Kunden automatisch zu finden. Die JComboBox habe ich als mit setEditible(true) als editierbar gekennzeichnet.
Zudem weise ich der JComboBox einen KeyListener zu, der beim Eintragen von Buchstaben über die Tastatur, immer wieder prüft ob ein Lieferant mit diesem Stichwort vorhanden ist.
Leider passiert beim Eintippen in die ComboBox gar nichts, der KeyListener scheint nicht zu greifen:
Code:
cmbLieferant.setEditable(true);
cmbLieferant.addKeyListener( new KeyListener ()
{
public void keyPressed( KeyEvent e )
{
System.out.println("KeyPressed");
JComboBox selectedChoice = (JComboBox)e.getSource();
System.out.println(selectedChoice.getName());
try
{
System.out.println("SelItem:" + selectedChoice.getSelectedItem().toString());
Statement stmtSuche = co.createStatement();
//SQL-Suche in DB nach Lieferant zum eingetragenen Stichwort
if (rsetSuche.next() != false)
{
System.out.println("Er hat 1 gefunden!");
selectedChoice.setSelectedItem(rsetSuche.getString(2) + ", " + rsetSuche.getString(7));
}
}
catch (SQLException ex)
{
System.err.println("SQLException : " + ex.getMessage());
ex.printStackTrace();
}
}
public void keyReleased( KeyEvent e )
{
System.out.println("KeyReleased");
}
public void keyTyped( KeyEvent e )
{
System.out.println("KeyTyped");
}
}
);
Selbst die Ausgaben "KeyPressed", "KeyReleased" und "KeyTyped" werden nicht ausgegeben.
Kann mir jemand sagen, warum bei der Eingabe von Tasten in eine editierbare ComboBox das KeyEvent nicht greift???
Gruß Florian Scheidler