PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Java: Component mit KeyListener...


ethrandil
2003-03-23, 17:16:40
Hallo,
ich hab mal wieder ne Frage zu Java ;)
Wie bekomme ich es hin, dass meine Klasse (unterklasse von java.awt.Component) KeyEvents empfängt???
Ich habe ja einen KeaListener geadded nur leider wrd er nicht angesprochen :eyes:

class Field extends Component{
GameInputListener gil = null;

Field(){
super();
this.addGameInputListener(new GameInputListener());
this.setEnabled(true); //habs mal damit versucht .. negativ
this.enableInputMethods(true);
this.setVisible(true);
}
public void paint(Graphics g){
(...)
}
public void addGameInputListener(GameInputListener gil){
this.gil = gil;
this.addKeyListener(gil);
this.addMouseListener(gil);
}
public Component getComponentAt(int x, int y){
return this;
}
public Component getComponentAt(Point p){
return this;
}
}


wäre nett, wenn ihr mir helfen könntet, bzw ein gutes Tutorial dafür kennt ... ich hab keins gefunden.

Abe Ghiran
2003-03-23, 19:20:02
Hallo...

Hast du mal versucht, mit <instanz von Field>.requestFocus() den Eingabefokus explizit an das Field zu übergeben?

Edit: Habe noch mal in der Doku nachgeguckt, mit hasFocus kann man auch abfragen, ob die Component gerade den Fokus hat.
Edit2: Okilidokili, hat sich ja dann erledigt - happy programming ;)

Grüße, Jan

ethrandil
2003-03-23, 19:23:51
hmm ja, aber im constructor des Frames ... *auf die Stirn klatsch* danke ;)
Wenn ich das nach Frame.show() mach gehts... logisch eigentlich ...