KeyListener wird nicht ausgelöst

Status
Nicht offen für weitere Antworten.

The-Forgotten

Bekanntes Mitglied
I-wie wird mein KeyListener nicht ausgelöst und ich komm nicht drauf, warum nicht :S

[Java]
import java.applet.*;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

public class BallApplet extends Applet implements Runnable,KeyListener
{
private static final long serialVersionUID = 1L;
// Initialisierung der Variablen
...

public void init()
{
...
}

public void start ()
{
// Starten des Threads
th.start ();
resize(threadlaenge, threadhoehe);
this.addKeyListener(this);
}

public void stop()
{

}

public void destroy()
{

}

public void run ()
{
...
}

/** Update - Methode, Realisierung der Doppelpufferung zur Reduzierung des Bildschirmflackerns */
public void update (Graphics g)
{
...
}

public void paint (Graphics g)
{
...
}

public void keyPressed(KeyEvent e) {System.out.println("A");
}

public void keyReleased(KeyEvent e) {System.out.println("A");
}

public void keyTyped(KeyEvent e) {System.out.println("A");
}

}

[/Java]
 

javimka

Top Contributor
enthält das Applet möglicherweise, weitere Komponenten, die fokusiert sind, wenn du eine Taste drückst? Dann wird der Event nämlich abgefangen und nicht an das Applet und an dessen Listener weitergegeben.
 

The-Forgotten

Bekanntes Mitglied
Also nicht das ich wüsste, aber ich kann mich natürlich auch irren ...

Java:
import java.applet.*;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

public class BallApplet extends Applet implements Runnable,KeyListener
{
	private static final long serialVersionUID = 1L;
	// Initialisierung der Variablen
	int x_pos = 10;		// x - Position des Balles
	int y_pos = 100;	// y - Position des Balles
	int radius = 20;	// Radius des Balles
	int richtung=1;	    // x Richtung des Balles
	
	int threadlaenge=600;
	int threadhoehe=400;
	
	int geschwindigkeit=4;
	
	// Variablen für die Doppelpufferung
	private Image dbImage;
	private Graphics dbg;
	
	Polygon p1=new Polygon();
	Polygon p2=new Polygon();
	
	Thread th = new Thread (this);
	
	// Instanzvariable für den AudioClip
	AudioClip bounce;

	public void init()
	{
		
		// Laden des Audioclips
		bounce = getAudioClip (getCodeBase(), "dong.au");

		p1.addPoint( 1,  threadhoehe/2-40);
		p1.addPoint( 1,  threadhoehe/2+40);
		p1.addPoint(10,  threadhoehe/2+40);
		p1.addPoint(20,  threadhoehe/2);
		p1.addPoint(10,  threadhoehe/2-40);
	
		p2.addPoint( threadlaenge   ,  threadhoehe/2-40);
		p2.addPoint( threadlaenge   ,  threadhoehe/2+40);
		p2.addPoint( threadlaenge-10,  threadhoehe/2+40);
		p2.addPoint( threadlaenge-20,  threadhoehe/2);
		p2.addPoint( threadlaenge-10,  threadhoehe/2-40);
		
		y_pos=threadhoehe/2;
		
		
	}

	public void start ()
	{
		// Schaffen eines neuen Threads, in dem das Spiel läuft
		// Starten des Threads
		th.start ();
		resize(threadlaenge, threadhoehe);
		this.addKeyListener(this);
	}

	public void stop()
	{

	}

	public void destroy()
	{

	}

	public void run ()
	{
		// Erniedrigen der ThreadPriority um zeichnen zu erleichtern
		Thread.currentThread().setPriority(Thread.MIN_PRIORITY);

		// Solange true ist läuft der Thread weiter
		while (true)
		{
			// Verändern der x- Koordinate
			for (int i=0;i<geschwindigkeit;i++)
			{
			x_pos =x_pos+1*richtung;
			
			if ((p1.contains(x_pos-radius, y_pos-radius)==true)&&richtung==-1)
			{
				bounce.play();
				richtung=richtung*-1;
				if (geschwindigkeit<=20){geschwindigkeit++;}
				
				System.out.println("Treffer bei: "+x_pos);
			}
			
			if ((p2.contains(x_pos+radius, y_pos+radius)==true)&&richtung==1)
			{
				bounce.play();
				richtung=richtung*-1;
				if (geschwindigkeit<=20){geschwindigkeit++;}
				System.out.println("Treffer bei: "+x_pos);
			}
			}
			// Neuzeichnen des Applets
			repaint();

			try
			{
				// Stoppen des Threads für in Klammern angegebene Millisekunden
				Thread.sleep (20);
			}
			catch (InterruptedException ex)
			{
				// do nothing
			}

			// Zurücksetzen der ThreadPriority auf Maximalwert
			Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
		}
	}
	
	/** Update - Methode, Realisierung der Doppelpufferung zur Reduzierung des Bildschirmflackerns */
	public void update (Graphics g)
	{
		// Initialisierung des DoubleBuffers
		if (dbImage == null)
		{
			dbImage = createImage (threadlaenge, threadhoehe);
			dbg = dbImage.getGraphics ();
		}

		// Bildschirm im Hintergrund löschen
		dbg.setColor (getBackground ());
		dbg.fillRect (0, 0, threadlaenge, threadhoehe);

		// Auf gelöschten Hintergrund Vordergrund zeichnen
		dbg.setColor (getForeground());
		paint (dbg);

		// Nun fertig gezeichnetes Bild Offscreen auf dem richtigen Bildschirm anzeigen
		g.drawImage (dbImage, 0, 0, this);
	}

	public void paint (Graphics g)
	{
		g.setColor  (Color.red);
		g.fillOval (x_pos - radius, y_pos - radius, 2 * radius, 2 * radius);

		g.setColor(Color.green);
		g.drawPolygon(p1);
		g.fillPolygon(p1);
		
		g.setColor(Color.blue);
		g.drawPolygon(p2);
		g.fillPolygon(p2);
	}

	public void keyPressed(KeyEvent e) {System.out.println("A");
	}

	public void keyReleased(KeyEvent e) {System.out.println("A");
	}

	public void keyTyped(KeyEvent e) {System.out.println("A");
	}
	
}
 

The-Forgotten

Bekanntes Mitglied
Ich bekomm i-wie keins.

Also, die "A" müssten ja in der Konsolenausgabe auftauchen oder?

Edit: Es geht auf einmal. Fragt mich nicht warum, aber es geht... so ... jetzt muss das nur schon weiterklappen^^

Danke für die Hilfe^^
 

javimka

Top Contributor
Ich habs mit Eclipse als Applet gestartet, dann einmal in die Mitte geklickt und dann hat es funktioniert.

//EDIT: Sieht übrigens viel versprechend aus, hoffe, das Endprodukt wird dann mal hier veröffentlicht ;)
 

eRaaaa

Top Contributor
Ich habs mit Eclipse als Applet gestartet, dann einmal in die Mitte geklickt und dann hat es funktioniert.

//EDIT: Sieht übrigens viel versprechend aus, hoffe, das Endprodukt wird dann mal hier veröffentlicht ;)

genau das wollt ich auch gerad sagen. man muss bei dir zuerst quasi aufs applet klicken damit es geht.
vllt solltest du nach dem start (oder vllt in paint() / update()) mal ein this.requestFocus() unterbringen.

gruß
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Wie kann ich meine Keylistener Klasse unterscheiden lassen, von welcher "Quelle" der Input kommt? Java Basics - Anfänger-Themen 2
B Bild per KeyListener drehen Java Basics - Anfänger-Themen 1
javalux123 Keylistener auf andere Fenster Java Basics - Anfänger-Themen 3
F Problem mit KeyListener in kombination mit dem ActionListener Java Basics - Anfänger-Themen 4
M KeyListener reagiert nicht Java Basics - Anfänger-Themen 4
M Mit KeyListener Farbe von Label ändern Java Basics - Anfänger-Themen 13
N Java Keylistener Java Basics - Anfänger-Themen 2
B KeyListener funkioniert nicht Java Basics - Anfänger-Themen 2
F KeyListener Java Basics - Anfänger-Themen 3
S Erste Schritte 2D Grafik Probleme mit KeyListener. Java Basics - Anfänger-Themen 18
G KeyListener und JButton vertragen sich nicht Java Basics - Anfänger-Themen 1
J-Gallus Keylistener verstehen Java Basics - Anfänger-Themen 17
S Keylistener Java Basics - Anfänger-Themen 16
S Keylistener im Grafikfenster Java Basics - Anfänger-Themen 3
H Mouse- und KeyListener Probleme? Java Basics - Anfänger-Themen 5
N KeyListener in Thread Java Basics - Anfänger-Themen 0
LexeB4F for schliefe in KeyListener Java Basics - Anfänger-Themen 3
R KeyListener auslagern Java Basics - Anfänger-Themen 3
J KeyListener aus anderer Klasse bereitet Probleme Java Basics - Anfänger-Themen 1
Z KeyListener funktioniert nicht? Weshalb? Java Basics - Anfänger-Themen 8
T KeyListener Java Basics - Anfänger-Themen 2
Gfreak23 Input/Output KeyListener funktioniert auf Laptop nicht allerdings auf Tower-PC Java Basics - Anfänger-Themen 8
J KeyListener - mal wieder... Java Basics - Anfänger-Themen 2
TheSorm KeyListener Problem Java Basics - Anfänger-Themen 4
M KeyListener Java Basics - Anfänger-Themen 3
S KeyListener/ActionListener/paint()/repaint() Java Basics - Anfänger-Themen 3
D KeyListener nicht mehr aktiv nach ActionPerformed Java Basics - Anfänger-Themen 2
C Mehrere Tasten beim KeyListener gleichzeitig lesen Java Basics - Anfänger-Themen 2
L Input/Output Java 3D mit KeyListener Java Basics - Anfänger-Themen 1
S KeyListener reagiert nicht. Java Basics - Anfänger-Themen 4
L KeyListener ohne textfeld Java Basics - Anfänger-Themen 4
J KeyListener,MouseListener,MouseMotionListener und static Java Basics - Anfänger-Themen 7
P Klassen Bei KeyEvent in KeyListener den Tastendruck abbrechen Java Basics - Anfänger-Themen 5
B KeyListener als allgemeine Methode Java Basics - Anfänger-Themen 5
H KeyListener auf ganzes Fenster setzen Java Basics - Anfänger-Themen 14
0 KeyListener ausserhalb der Applikation Java Basics - Anfänger-Themen 5
G KeyListener Java Basics - Anfänger-Themen 4
D KeyListener und ActionListener Problem Java Basics - Anfänger-Themen 6
J KeyListener funtioniert nicht! Java Basics - Anfänger-Themen 3
J KeyListener Java Basics - Anfänger-Themen 11
P Input/Output KeyListener reagiert nicht Java Basics - Anfänger-Themen 4
G KeyListener, Fokus Java Basics - Anfänger-Themen 8
K Input/Output KeyListener funktioniert nicht Java Basics - Anfänger-Themen 3
A Input/Output Keylistener Aktiv schalten Java Basics - Anfänger-Themen 8
J keyListener - Genau 1 Aktion soll bei 1 Tastenausdruck ausgeführt werden Java Basics - Anfänger-Themen 11
S KeyListener Java Basics - Anfänger-Themen 2
A Erste Schritte Problem mit KeyListener Java Basics - Anfänger-Themen 6
Maxim6394 KeyListener geht nicht Java Basics - Anfänger-Themen 15
A Wie KeyListener adden? Java Basics - Anfänger-Themen 15
Maxim6394 KeyListener funktioniert nicht Java Basics - Anfänger-Themen 20
U KeyListener StackOverflowError Java Basics - Anfänger-Themen 2
W KeyListener auf Applet mit Runnable Java Basics - Anfänger-Themen 4
M Apfel-Spiel KeyListener Java Basics - Anfänger-Themen 33
J KeyListener (keyTyped) funktioniert nicht Java Basics - Anfänger-Themen 9
Luk10 KeyListener Java Basics - Anfänger-Themen 13
S KeyListener aus anderer Klasse hinzufügen Java Basics - Anfänger-Themen 19
P KeyListener im Applet Java Basics - Anfänger-Themen 2
S KeyListener-Anwendung Java Basics - Anfänger-Themen 7
O KeyListener funktioniert nur wenn er will Java Basics - Anfänger-Themen 2
A KeyListener funzt ned Java Basics - Anfänger-Themen 6
D KeyListener, Unterscheidung Groß/Kleinbuchstaben Java Basics - Anfänger-Themen 3
S KeyListener als class? Java Basics - Anfänger-Themen 4
F Applet mit KeyListener, "Alt"-Taste und Konflikt mit Browser Java Basics - Anfänger-Themen 2
P KeyListener Java Basics - Anfänger-Themen 2
S KeyListener für einfaches Programm Java Basics - Anfänger-Themen 3
S KeyListener aktiv auch wenn minimiert? Java Basics - Anfänger-Themen 4
Z Globaler Keylistener Java Basics - Anfänger-Themen 2
V KeyListener Beispiel Java Basics - Anfänger-Themen 13
T canvas killt KeyListener Java Basics - Anfänger-Themen 2
Das Brot Nach .add(JRadioButton) funktioniert der KeyListener nicht mehr Java Basics - Anfänger-Themen 2
J Keylistener aber wie jTextField auswahl? Java Basics - Anfänger-Themen 3
D KeyListener, nichts passiert Java Basics - Anfänger-Themen 6
U ActionListener und KeyListener - KeyListener funktioniert nicht Java Basics - Anfänger-Themen 2
D Keylistener zu langsam Java Basics - Anfänger-Themen 7
C Problem mit JPopupMenu, JTextField und Keylistener Java Basics - Anfänger-Themen 2
G Keylistener in einer Schleife Java Basics - Anfänger-Themen 9
M problem mit keylistener Java Basics - Anfänger-Themen 2
M TabbedPane: KeyListener funktioniert nicht mehr Java Basics - Anfänger-Themen 8
N KeyListener ohne GUI? Java Basics - Anfänger-Themen 5
M KeyListener Java Basics - Anfänger-Themen 3
O KeyListener Java Basics - Anfänger-Themen 8
Developer_X KeyListener ohne JFrame Java Basics - Anfänger-Themen 13
H KeyListener Java Basics - Anfänger-Themen 4
Developer_X KeyListener Actions (hat mit Java3D zu tun) Java Basics - Anfänger-Themen 20
H KeyListener funktioniert nicht Java Basics - Anfänger-Themen 8
Developer_X JFrame soll KeyListener adden Java Basics - Anfänger-Themen 32
F Keylistener Java Basics - Anfänger-Themen 12
hdi KeyListener : keyTyped() nicht nutzbar? Java Basics - Anfänger-Themen 1
StickToFreak Runnable + KeyListener? Java Basics - Anfänger-Themen 32
dl85hej Keylistener Java Basics - Anfänger-Themen 16
H KeyListener will nicht reagieren Java Basics - Anfänger-Themen 5
R Fehlersuche - KeyListener, KeyAdaper - Nichts Klappt! Java Basics - Anfänger-Themen 2
G Prob. mit KeyListener und Unterklasse Java Basics - Anfänger-Themen 5
G Keylistener nur besimmte Zeichen zulassen Java Basics - Anfänger-Themen 8
hdi keylistener hat keinen fokus oder: listener ohne frame? Java Basics - Anfänger-Themen 10
A KeyListener funktioniert nicht Java Basics - Anfänger-Themen 7
D KeyListener Java Basics - Anfänger-Themen 7
B Keylistener auf JSpinner reagiert nicht? Java Basics - Anfänger-Themen 3
G KeyListener für die Taste "/" Java Basics - Anfänger-Themen 5
E brauche hilfe beim KeyListener Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben