Hi,
I’m new to AS3 classes and try to change the content of the textfield.
Could someone give me a tip to get this to work. Thanks
Documentclass dispatchEventExample.as
package {
import flash.display.MovieClip;
import flash.events.Event;
import TextfieldMessage;
public class dispatchEventExample extends flash.display.MovieClip {
// Constructor
public function dispatchEventExample():void {
// Add new Instance to stage
var textMessageInstanz:TextfieldMessage = new TextfieldMessage("Hello");
addChild(textMessageInstanz);
textMessageInstanz.x=20;
textMessageInstanz.y=20;
// Add event listener
textMessageInstanz.addEventListener(TextfieldMessage.LISTITEM_CLICK, showText);
function showText(evt:Event):void {
textMessageInstanz.TextString ="Goodbye";
this.text=textMessageInstanz.TextString;
// This line gives me: 1119: Access of possibly undefined property
// textMessageInstanz.text = "Goodbye";
// This property works fine
textMessageInstanz.x += 5;
trace(textMessageInstanz.TextString);
}
}
}
}
TextfieldMessage.as
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.events.*;
public class TextfieldMessage extends Sprite {
// TextfiedMessage-Event
public static const LISTITEM_CLICK:String="MY_TEXTFIELD_EVENT";
// Vars
protected var selectedTextfieldText:String;
private var myVar:String;
public function TextfieldMessage(string:String) {
myVar = string;
// Textfield
var lblText:TextField = new TextField();
lblText.mouseEnabled=true;
lblText.selectable=false;
lblText.width=225;
lblText.height=26;
lblText.text="Test: " + myVar;
lblText.addEventListener(MouseEvent.CLICK, Click);
addChild(lblText);
}
// Getter function
public function get TextString():String {
// return selectedTextfieldText;
return this.myVar;
}
// Setter function
public function set TextString(value:String):void{
this.myVar = value;
}
// Event listener
public function Click(evt:MouseEvent):void {
selectedTextfieldText=evt.currentTarget.text;
trace("Click: " + evt.currentTarget.text)
dispatchEvent(new Event(LISTITEM_CLICK));
}
}
}