Problème Java, Frame et KeyListener

zagor -  
 javaiste noob -
Bonjour!

Est-ce qu'il est possible d'utiliser un KeyListener dans une Frame en Java, ou faut-il passé par l'intermédiaire d'un Panel ?
Merci d'avance
A voir également:

3 réponses

Utilisateur anonyme
 
package be.hacktrack.misc.keyListener;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


/**
*
* @author HackTrack
* @version 1.0
*/
public class KeyListenerTester extends JFrame{
private Container c;


public KeyListenerTester() {
super("KeyListener tester");
initialize();
}

private void initialize(){
c = getContentPane();
setSize(Toolkit.getDefaultToolkit().getScreenSize());
addKeyListener(new KeyAdapter(){
public void keyTyped(KeyEvent ke){
System.out.println("Vous avez appuyé sur '" +ke.getKeyChar() + "'");
}

});
setDefaultCloseOperation(EXIT_ON_CLOSE);
}

public static void main (String args[]) {
KeyListenerTester tester = new KeyListenerTester();
tester.setVisible(true);
}
}

;-)
2
mon nom
 
ca compile pas ya une erreur sur ;-) il dit qu'il connait pas!!!
0
choubaka Messages postés 39442 Date d'inscription   Statut Modérateur Dernière intervention   2 105 > mon nom
 
salut

tu peux être plus explicite, il dit qu'il connait pas quoi ???
0
Utilisateur anonyme > mon nom
 
Je ne sais pas si c'est de l'humour (j'espère), mais le ;-) comme tu dis est un clin d'oeil bien sympathique que je joins à la fin de chaque message. Ca n'a évidemment rien à voir avec Java.


;-) (ceci n'est pas du code)
0
zagor
 
J'oubliais de préciser que je ne passe pas par un Applet.
0
Kloumyd
 
Pour qu'un keyListener fonctionne dans une JFrame chaque elements de la JFrame doit avoir le keyListener.

J'ai creer une methode pour récupérer tous les sous elements d'un Container

	public ArrayList getAllSubComponent(Container _container){
		ArrayList _list = new ArrayList();
		Component[] _listComponent = _container.getComponents();
		
		for(int i = 0 ; i < _listComponent.length; i++){
			_list.add(_listComponent[i]);
			try{
				_list.addAll(getAllSubComponent((Container) _listComponent[i]));
			}catch(Exception e ){

			}
		}
		return _list; 
	}


J'ajoute ensuite les keyListener comme ceci
		ArrayList list = getAllSubComponent(myJFrame);
		for(int i = 0; i < list.size(); i++){
			((Component)list.get(i)).addKeyListener(myKeyListener);
			
		}
0
javaiste noob
 
bien utile ton petit code kloumyd il vient de me sauver merci :)
0