Nichts passiert...

BDG

Aktives Mitglied
Hey Leute... Mein Code funktioniert nicht... Das gewollte wird nicht ausgeführt... Bei drücken der spaceTaste sollte space = true werden... Aber das geht nicht ...
Hier :

Java:
	@Override
	public void keyPressed(KeyEvent e) 
	{
		if(e.getKeyCode()== KeyEvent.VK_UP){
			
			up = true;
		}
        if(e.getKeyCode()== KeyEvent.VK_SPACE){
			
			space = true;
		}
		
				
	}

da passiert nichts wenn ich space drücke ^^
WOran kann das liegen ?
 
Der Code sollte so stimmen, die Frage ist, ob der Component, welchem du diesen KeyListener gibst, auch den momentanen Fokus innehat und natürlich auch, ob die Stelle, bei der du das überprüfst, korrekt ist.

Tipp:
Falls du Tastenanschläge global verarbeiten willst, kannst du den KeyboardFocusManager verwenden... Beispielscode:

Java:
KeyboardFocusManager manager = KeyboardFocusManager.getCurrentKeyboardFocusManager();

manager.addKeyEventDispatcher( new KeyEventDispatcher() {
			
	@Override
	public boolean dispatchKeyEvent(KeyEvent e) {
		if( e.getID() == KeyEvent.KEY_PRESSED ){
			int code = e.getKeyCode();
			if( code == KeyEvent.VK_SPACE)
				space = true;
			else if( code == KeyEvent.VK_UP )
				up = true;
		}
		return false;
	}
}
 
Nur so als kleiner Tipp, ob er ueberhaupt in die KeyPressed Methode kommt, kann man sehr schnell herrausfinden, indem man entweder nen breakpoint setzt oder eben ein system.out.println einfuegt.
 

Zurück
Oben