Frogger-Projekt - Informatik GK
lima-city → Forum → Programmiersprachen → Java
abstract
argument
aufrufen
beachten
code
entsprechende zeichen
fenster
frosch
importieren
interface
klasse
lehrer
methode
objekt
panel
schauen
tastatur
taste
url
zeichen
-
Hallo Leute,
in unserem Informatik Grundkurs arbeiten wir grade an einem Frogger.
(man muss einen Frosch über eine Straße lenken, ohne das er überfahren wird)
Ich bin noch sehr unerfahren im Programieren mit Java und unser Lehrer bekommt es irgentwie nicht hin uns das beizubringen....
Naja mein Problem besteht darin, dass ich nicht hinbekomme, die Tastatur als "Event" zu programmieren.
Unser Lehrer hat uns dafür ein von ihm Programmiertes "Paket" (goerGrafik) zum importieren geschickt.
Die Klasse heißt TstErgEmpfaenger:
package goerGrafik; /** * Das Interface, das festlegt, über welche Methoden eine Klasse, die * Tastaturereignisse empfangen können soll, verfügen muss. **/ public interface TstErgEmpfaenger { /** * Wird aufgerufen, solange eine Taste niedergedrückt ist. * @param zeichen Das der niedergedrückten Taste entsprechende Zeichen. */ public abstract void tasteGedrueckt(char zeichen); /** * Wird aufgerufen, wenn eine Taste losgelassen wird. * @param zeichen Das der losgelassenen Taste entsprechende Zeichen. */ public abstract void tasteLosgelassen(char zeichen); /** * Wird aufgerufen, wenn eine Taste gedrückt und wieder losgelassen wird. * @param zeichen Das der getippten Taste entsprechende Zeichen. */ public abstract void tasteGetippt(char zeichen); }
Die Klasse habe ich in meine Frosch Klasse implementiert, aber was muss ich noch machen, damit der eine bestimmte Taste als gedrückt erkennt?
Gruß von Slashi -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo slashi,
die Implementierung des Interfaces alleine wird nicht reichen, da die Methoden ja von irgendwo aufgerufen werden müssen.
Hat euer Lehrer vielleicht noch einen andere Klasse bereitgestellt?
Hier ist zumindes ein Thread der erklärt, wie man es normalerweise machen würde:
http://www.java-forum.org/java-basics-anfaenger-themen/103756-keylistener-beispiel.html
Wenn Du den KeyListener an das Fenster bzw. an das Panel im Vordergrund hängst, dann sollte es funktionieren. Du musst dabei aber beachten, dass Du die Tastaturereignisse nur dann bekommst, wenn das Fenster bzw. das Panel den Fokus hat. Also erst einmal ins Fenster klicken wenn nichts geht.
Edit: Du kannst ja mal bei den anderen Klassen schauen, ob es irgenwo eine Methode gibt, die ein TstErgEmpfaenger-Objekt als Argument erwartet und diese mal mit Deinem Frosch aufrufen. D.h. z.B. sowas wie Fenster.setzeTastaturEmpfaenger(TstErgEmpfaenger empfaenger).
Beitrag zuletzt geändert: 12.5.2011 20:21:58 von darkpandemic -
Hey!
Perfekt danke.
Edit: Du kannst ja mal bei den anderen Klassen schauen, ob es irgenwo eine Methode gibt, die ein TstErgEmpfaenger-Objekt als Argument erwartet und diese mal mit Deinem Frosch aufrufen. D.h. z.B. sowas wie Fenster.setzeTastaturEmpfaenger(TstErgEmpfaenger empfaenger).
Es ging so änlich, wie du es beschrieben hast:
tastatur.addTstErgEmpfeanger(frosch);
Diese Zeile hat gefehlt :)
Jetzt müssen sich nur noch die Autos bewegen aber das bekomme ich denke ich hin
DANKE!
Slashi
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage