[Java] KeyListener

TooR

0 8 15
ID: 113427
L
19 Juni 2006
322
21
Hallo,
ich möchte ein kleines Programm schreiben, welches auf Tastendruck eine Aktion durchführt.
Dazu habe ich eine kleine GUI gemacht. Wenn die GUI aktiviert und nicht deaktiviert ist soll der KeyListener auf den Tastendruck reagieren.
Hier der Code
PHP:
this.addWindowListener(new WindowListener(){

		@Override
		public void windowActivated(WindowEvent e) {
			new KeyListener(){

				@Override
				public void keyPressed(KeyEvent e) {
					int keycode = e.getKeyCode();
					System.out.println(keycode);
				}

				@Override
				public void keyReleased(KeyEvent e) {
				       System.out.println(e);	
				}

				@Override
				public void keyTyped(KeyEvent e) {
					System.out.println(e);
				}
				   
			};
		}

		...

		@Override
		public void windowClosing(WindowEvent e) {
			System.exit(0);
		}

		@Override
		public void windowDeactivated(WindowEvent e) {
			new KeyListener(){

				@Override
				public void keyPressed(KeyEvent e) {
					int keycode = e.getKeyCode();
					System.out.println(keycode);
				}

				@Override
				public void keyReleased(KeyEvent e) {
					System.out.println(e);
					
				}

				@Override
				public void keyTyped(KeyEvent e) {
					System.out.println(e);
				}
				   
			 };
		}

		...
		   
	   });

Zu testzwecken möchte ich immo nur die jeweilige Taste ausgeben.
Jedoch werden die Events nicht behandelt.

Ich höffe ihr könnt mir helfen.
 
Zuletzt bearbeitet:
Ganz davon abgesehen schwirrt das KeyListener-Objekt einfach nur so da rum - das lauscht ja auf gar keinem Objekt.

Du könntest eigentlich auf den WindowListener verzichten, nur den KeyListener auf den JFrame, oder was auch immer Du da hast, adden und dann in den KeyListener-Methoden Fallunterscheidungen mit isFocusOwner() machen.

Die Ausgabe (auch wenn sie momentan nur Testweise ist) würde ich übrigens nicht mit System.out.println(e) machen - wenn schon, dann mit System.out.println(e.getKeyCode()).
 
ICh möchte eine art hotkey Programm machen, welches auf Druck einer Taste z.B. ein video abspielt.

Dazu müsste es auch reagieren wenn das Programm zum beispiel minimiert ist.
An welcher Stelle müsste ich dann den KeyListener anbringen?