     //
     //--------------------------------------------------------------------------
     
+    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

     * 
     *  @default null
     */    
    public function get labelDisplay():UITextField
    {
        return _labelDisplay
    }

    /**
     *  @private
     */    
    public function set labelDisplay(value:IUITextField):void
    {
        if (_labelDisplay == value)
            return;
