Highlight a paragraph when the user clicks a character : MouseEvent « TextField « Flash / Flex / ActionScript

Flash / Flex / ActionScript
1. Animation
2. Array
3. Class
4. Data Type
5. Development
6. Function
7. Graphics
8. Language
9. Network
10. Regular Expressions
11. Statement
12. String
13. TextField
14. XML
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Flash / Flex / ActionScript » TextField » MouseEvent 
Highlight a paragraph when the user clicks a character
 

package {

  import flash.display.Sprite;
  import flash.text.TextField;
  import flash.events.MouseEvent;
  import flash.geom.Rectangle;
  import flash.text.TextLineMetrics;

  public class Main extends Sprite {

    private var _field:TextField = new TextField(  );
    private var _highlight:Sprite = new Sprite(  );

    public function Main(  ) {
      _field.border = true;
      _field.background = true;
      _field.multiline = true;
      _field.wordWrap = true;
      _field.selectable = false;
      _field.width = 400;
      _field.height = 400;
      addChild(_field);
      _field.text = "Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text ";
      _field.addEventListener(MouseEvent.CLICK, onDoubleClick);
      addChild(_highlight);
    }
    
    private function onDoubleClick(event:MouseEvent):void {
      var index:int = _field.getCharIndexAtPoint(mouseX, mouseY);
      var startIndex:int = _field.getFirstCharInParagraph(index);
      var stopIndex:int = startIndex + _field.getParagraphLength(index);
      var startLine:int = _field.getLineIndexOfChar(startIndex);
      var stopLine:int = _field.getLineIndexOfChar(stopIndex - 1);
      var metrics:TextLineMetrics;
      var lineCharacter:int;
      var rectangle:Rectangle;
      _highlight.graphics.clear(  );
      _highlight.graphics.lineStyle(000);
      for(var i:int = startLine; i <= stopLine; i++) {
          lineCharacter = _field.getLineOffset(i);
          rectangle = _field.getCharBoundaries(lineCharacter);
          metrics = _field.getLineMetrics(i);
        _highlight.graphics.beginFill(0x00FFFF.25);
        _highlight.graphics.drawRect(rectangle.x, rectangle.y, metrics.width, metrics.height);
        _highlight.graphics.endFill(  );
      }
    }
    
  }
}

        
Related examples in the same category
1. Add mouse click listener to TextField
2. Disappearing TextField
3. Working with Advanced Text Layout
4. Drag and drop text
5. To remove the highlight when the mouse moves away from both text fields, we would first register both text fields to receive the MouseEvent.MOUSE_OUT event
6. Clickable TextField
7. Using multiLine and TextMetrics: set the characters in the line underneath the user's mouse to red.
8. Unicode characters
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.