     //
     //--------------------------------------------------------------------------
     
+    private function createLabelDisplay():void
+    {
+        if (labelDisplay)
+            removeChild(DisplayObject(labelDisplay));
+        
+        labelDisplay = IUITextField(createInFontContext(UITextField));            
+        labelDisplay.multiline = true;
+        labelDisplay.wordWrap = true;
+        labelDisplay.autoSize = TextFieldAutoSize.LEFT;
+        
+        addChild(DisplayObject(labelDisplay));
+        if (_label != "")
+            labelDisplay.text = _label;
+    }
+    
     /**
      *  @private
      */
     override protected function createChildren():void
     {
         super.createChildren();
-        
-        if (!labelDisplay)
-        {
-            labelDisplay = new UITextField();
-
-            labelDisplay.multiline = true;
-            labelDisplay.wordWrap = true;
-            labelDisplay.autoSize = TextFieldAutoSize.LEFT;
-
-            addChild(DisplayObject(labelDisplay));
-            if (_label != "")
-                labelDisplay.text = _label;
-        }
-    }
+        createLabelDisplay();
+    }
+    
+    /**
+     *  @private
+     */
+    override protected function commitProperties():void
+    {
+        super.commitProperties();
+        if (hasFontContextChanged())
+            createLabelDisplay();
+    }
+    
     
     /**
      *  @private

        }
        
        labelDisplay.move(5, 5);
    }
 
        

import flash.geom.Rectangle;
import flash.text.TextFieldAutoSize;

import mx.core.IUITextField;
import mx.core.LayoutElementUIComponentUtils;
import mx.core.UIComponent;
import mx.core.UITextField;
