Core Java| JSP| Servlets| XML| EJB| JEE5| Web Services| J2ME| Glossary| Questions?

 

 

 

 

 

 

 

 

 

 

 

 

 

Search Tutorials:
 

Software Solutions and Services
 

 
  JDO Tutorials
  EAI Articles
  Struts Tutorials
  Java Tutorials
  Java Certification
  Java Applet
Questions
Comments
 
Flex Handling KeyboardEvents 
 

Following tutorial describes KeyboardEvent class defined under flash.events package.

 

Flex Handling KeyboardEvents

                         

Following tutorial describes KeyboardEvent class defined under flash.events package. Class is associated with the keyboard keys  pressed on the keyboard. It is commonly used for detecting the key pressed on the keyboard. For detecting and handling  the key pressed , an event listener associated with event is created. Now for detecting event on a particular container just create the listener of event on that container.

Syntax for creating event Listener : 
        <mx:Application>  ---  a flex container.
                            application.addEventListener(KeyboardEvent.KEY_UP, task);     
                  or       application.addEventListener(KeyboardEvent.KEY_DOWN, task); 

 Here keyUp and keyDown are the events and any class that inherits UIComponent class dispatches these events. The listeners created 
on the application container are get invoked each time a key is pressed on the keyboard. Now after creating the listener we also have to create a function to handle the event. In the function an object of  keyboard event is created. Below the syntax for creating handlers are provided.

Syntax for creating the event handlers:
   
         public function handler (event : KeyBoardEvent){ }

Inside these event handlers a pressed key can be detected. This means inside the braces of the function, statements containing charCode and keyCode properties can be coded to get the biodata of the key pressed on the keyboard. Here charCode and keyCode are the properties defined inside the KeyboardEvent class. 

Now coming one by one, first is charCode property which generates a corresponding  ASCII character set value of the key value i.e.  the alphabet value the key is holidng. For example charCode value of letter 'a' will differ with the charCode value of letter 'A'. 
Second is keyCode property, which generates the numeric value of the key pressed on the keyboard. Every key on the keyboard possess a unique keyCode value. For example there are two keys on the keyboard to write the same number one (1), and when they are pressed the charCode value of the key matches, as they possess the same value printed on them. But the keyCode values of these two keys differs to each other.


keydetector.mxml

<?xml version = '1.0' encoding = 'utf-8'?>
<mx:Application xmlns:mx = 'http://www.adobe.com/2006/mxml'
                        creationComplete = 'Listener();'>
  <mx:Script>
  <![CDATA[
    
    public function Listener():void{
      application.addEventListener(KeyboardEvent.KEY_UP, task);    
    }
    
    public function task(event:KeyboardEvent):void{
      var str:String = "  (" + event.keyCode + ") ";
      lb1.text =  str;
      lb2.text = Detector(event.charCode"  [" + event.charCode + "] "
      lb3.text = Detector(event.keyCode"  [" + event.keyCode + "] " 
      txA.text = String(event);
    }
    
    public function Detector(neo:int):String {
      if(neo > 47 && neo < 58){
        var u:String = '0123456789';
        return u.charAt(neo - 48);
      }
      if(neo > 64 && neo < 91){
        var b:String = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
        return b.charAt(neo - 65);
      }
      
      if(neo > 96 && neo < 123) {
        var v:String = 'abcdefghijklmnopqrstuvwxyz';
        return v.charAt(neo - 97);
      }
      else 
        return neo.toString();
    }
  
  ]]>  
  </mx:Script>
      <mx:Style>
         
           .Trinity{color : #996600}
              TextInput {font-size : 18pt}
              TextArea {font-size : 15pt}
              Label {font-size : 15pt}
          
      </mx:Style>

      
  <mx:Canvas width = '100%' height = '100%' backgroundColor = '#9966CC'>
    <mx:VBox width = '100%' height = '100%'>
    <mx:Form color = '#00FF00'>
  
      <mx:FormItem label = 'ASCII code of letter on the key : '>
          <mx:Label id = 'lb2' />
      </mx:FormItem>
  
      <mx:FormItem label = 'ASCII code of letter in upper case '>
          <mx:Label id = 'lb3' />
      </mx:FormItem>
  
      <mx:FormItem label = 'Key code of the key pressed : '>
          <mx:Label id = 'lb1' />
      </mx:FormItem>
  
    </mx:Form>
  
      <mx:FormItem label = 'Press any key within the TextInput'>
          <mx:TextInput  styleName = 'Trinity'/>
      </mx:FormItem>

          <mx:Label text = 'Event details' />
          <mx:TextArea id = 'txA' width = '20%' height = '50%
              editable = 'false' color = '#3399FF
              styleName = 'Trinity'/>
    
    </mx:VBox>
  </mx:Canvas>
</mx:Application>

 

keydetector.swf

 

Download the code

 

                         

» View all related tutorials
Related Tags: c gui com class controls ui select button style control io components sed implementation component definition tag name using this

Leave your comment:

Name:

Email:

URL:

Title:

Comments:


Enter Code:

Audio Version
Reload Image
 

Note: Emails will not be visible or used in any way, and are not required. Please keep comments relevant. Any content deemed inappropriate or offensive may be edited and/or deleted.

No HTML code is allowed. Line breaks will be converted automatically. URLs will be auto-linked. Please use BBCode to format your text.

Add This Tutorial To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Training Courses
Tell A Friend
Your Friend Name
Website Designing Services
 
Web Designing Packages From $150!
 
Website Designing Company Web Hosting
 
Website Designing Quotation
 
Search Tutorials:

 

 
 

Home | JSP | EJB | JDBC | Java Servlets | WAP  | Free JSP Hosting  | Search Engine | News Archive | Jboss 3.0 tutorial | Free Linux CD's | Forum | Blogs

About Us | Advertising On RoseIndia.net  | Site Map

India News

Indian Software Development Company | iPhone Development Company in India | Flex Development Company in India | Java Training Delhi | Java Training at Noida |

Send your comments, Suggestions or Queries regarding this site at roseindia_net@yahoo.com.

Copyright © 2008. All rights reserved.