If I try this in my Application : 

 

private function initApp():void{

                  trace("creationComplete()");

           

                  stage.focus = this;

                this.addEventListener(KeyboardEvent.KEY_DOWN, trapKeys);


            }

            private function trapKeys(e:KeyboardEvent):void {

               //textArea.text = String(e.charCode) + "/" +
String(e.keyCode);

               // Debugger.show();

                Alert.show("trapKeys()");

            }

 

I get an error saying : 

 

TypeError: Error #1009: Cannot access a property or method of a null
object reference.

      at
TryOuts/TryOuts::init()[E:\_BEKAERT\specularis\TryOuts\TryOuts.mxml:14]

 

 

Line 14 being stage.focus = this;

 

So, apparently, I can't seem to access the stage...

________________________________

From: [email protected] [mailto:[EMAIL PROTECTED] On
Behalf Of Lieven Cardoen
Sent: donderdag 11 januari 2007 10:58
To: [email protected]
Subject: [flexcoders] KeyBoardEvents

 

Why are my KeyboardEvents not working?

 

GroundPlan is a chilc of a Canvas...

 

I also tried catching keyboard events in my Application.application but
it doesn't work neither...

 

I'm testing in Internet Explorer and my application has focus...  thx.

 

 

public class GroundPlan extends Container

{...

 

public function addEventListeners():void{

      this.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);

      this.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);

      this.addEventListener(KeyboardEvent.KEY_DOWN, myKeyDownHandler);

      this.addEventListener(KeyboardEvent.KEY_UP, myKeyUpHandler);

}

 

/**

* 

 */

private function myKeyDownHandler(event:KeyboardEvent):void {

      trace("myKeyDownHandler(" + event + ")");

      if(event.keyCode == Keyboard.CONTROL){

            this.controlKeyDown = true;

      }

}

 

/**

 * 

 */

private function myKeyUpHandler(event:KeyboardEvent):void{

      trace("myKeyUpHandler(" + event + ")");

      if(event.keyCode == Keyboard.CONTROL){

            this.controlKeyDown = false;

      }

}

Lieven Cardoen
Application developer

indiegroup
interactive digital experience
engelse wandeling 2 k18 
b8500 kortrijk 

 

 

 

Reply via email to