dl85hej Geschrieben 25. Februar 2009 Teilen Geschrieben 25. Februar 2009 Hallo Freunde! Stecke im KeyListener fest! Nach dem JAVA Handbuch habe ich meine Klasse wie folgt erweitert: public class meineKlasse extends Frame dann wird nach dem Handbuch der Konstruktor wie folgt erstellt: public meineKlasse(){ addKeyListener(new MyKeyListener()); } Dann wird nach dem Handbuch eine weitere Klasse integriert... class MyKeyListener extends KeyAdapter { public void keyPressed(KeyEvent event) { if(event.getKeyCode()== KeyEvent.VK_ESCAPE){ t.interrupt(); } } Das Programm läuft, aber nichts passiert... Ich rieche 2 Probleme: 1. mein Eent wird ignoriert 2. die Methode interrup() meines Threads t wird nicht erkannt.... hmmm Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingofbrain Geschrieben 26. Februar 2009 Teilen Geschrieben 26. Februar 2009 Servus, machs Dir doch ein wenig einfacher und frage im keyPressed nicht auf ein bestimmtes Zeichen ab, sondern gib einfach mal was aus. Dann weißt Du, ob das Event schon mal ankommt. Ich weiß jetzt auch nicht, welche Voraussetzungen Du erfüllen musst, damit im JFrame Key Events ankommen. Wenn Du noch ein Textfeld auf den Frame setzt und dort den KeyListener anhängst, dann siehst Du schon am Textfeld, ob der Event ankommt. Peter Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
zui2000 Geschrieben 26. Februar 2009 Teilen Geschrieben 26. Februar 2009 Versuchs mit: class MyKeyListener implements KeyListener Suche dir die geeignete Mehtode raus die dir das Interface bietet und gut. Du kannst auch erst in jeder dieser Mehtoden ein System.out.println() machen um zu sehen wann was passiert. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
akhead Geschrieben 26. Februar 2009 Teilen Geschrieben 26. Februar 2009 Ich habe dazu auch eine Frage : Ich will eine Auftragsnr in mein Textfield reinschreiben und mit Escape soll dieser weiter wohin übertragen werden. Habe jetzt mein Keylistener geschrieben aber jetzt kann ich nichts in mein Textfield schreiben. Was muss also hier in Rot makiert rein? //textfield _tfdAuftrage = new JTextField(10); _tfdAuftrage.addKeyListener(this); public void keyPressed(KeyEvent e) { if(){ _vecAuftrage.add(_tfdAuftrage.getText().toString()); _listAuftrage.updateUI(); _tfdAuftrage.setText(""); } danke schön Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
zui2000 Geschrieben 26. Februar 2009 Teilen Geschrieben 26. Februar 2009 Ich habe dazu auch eine Frage : Ich will eine Auftragsnr in mein Textfield reinschreiben und mit Escape soll dieser weiter wohin übertragen werden. Habe jetzt mein Keylistener geschrieben aber jetzt kann ich nichts in mein Textfield schreiben. Was muss also hier in Rot makiert rein? //textfield _tfdAuftrage = new JTextField(10); _tfdAuftrage.addKeyListener(this); public void keyPressed(KeyEvent e) { if(){ _vecAuftrage.add(_tfdAuftrage.getText().toString()); _listAuftrage.updateUI(); _tfdAuftrage.setText(""); } danke schön hihi.... Blöd gelaufen, wenn der KeyListener am Textfeld hängt und bei jeder Eingabe eines Zeichens den Text im Textfeld wieder löscht. Frage im IF nach dem Zeichen. In deinem Fall das VK_ESCAPE. Nur für das Zeichen soll was passieren, bei allen anderen lässt du es einfach leer. Dadruch kommt auch wieder Text in das Textfeld. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
akhead Geschrieben 26. Februar 2009 Teilen Geschrieben 26. Februar 2009 (bearbeitet) klappt DANKE! Bearbeitet 26. Februar 2009 von akhead Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
zui2000 Geschrieben 26. Februar 2009 Teilen Geschrieben 26. Februar 2009 Poste doch mal deine keyPressed Mehtode. Bzw. mach da einen Breakpoint rein, debug den Spaß und drücke auf eine Zifferntaste. Schon kannst du beobachten was passiert. Der Debugger kann bei richtiger Benutzung (Übung erforderlich), jede Menge Probleme lösen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
akhead Geschrieben 26. Februar 2009 Teilen Geschrieben 26. Februar 2009 klappt alles danke schön fehler war die ungeduldigkeit ^^ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.