             titleDisplay.text = title;
         titleDisplay.commitStyles();
         
-        var textSize:Point = titleDisplay.measuredTextSize;
-        textWidth = textSize.x;
-        
         if (title != "")
         {
-            textHeight = textSize.y;
-            descent = titleDisplay.getLineMetrics(0).descent;
+			textWidth = titleDisplay.getPreferredBoundsWidth();
+            textHeight = titleDisplay.getPreferredBoundsHeight();
         }
         else
         {
-            var lineMetrics:TextLineMetrics = measureText("Wj");
-            textHeight = lineMetrics.height + StyleableTextField.TEXT_HEIGHT_PADDING;
-            descent = lineMetrics.descent;
+            textHeight =  measureText("Wj").height + StyleableTextField.TEXT_HEIGHT_PADDING;
         }
         
         measuredWidth = textWidth;

            var titlePaddingLeft:Number = (layoutObject.paddingLeft) ? Number(layoutObject.paddingLeft) : 0;
            var titlePaddingRight:Number = (layoutObject.paddingRight) ? Number(layoutObject.paddingRight) : 0;
            
            // vertical align center by subtracting the descent and top gutter
            titleHeight = titleDisplay.getExplicitOrMeasuredHeight();
            titleCompY = Math.round((contentGroupsHeight - titleHeight + titleDisplay.descent - StyleableTextField.TEXT_HEIGHT_PADDING) / 2);
            
            // align titleDisplay to the absolute center
            var titleAlign:String = getStyle("titleAlign");

   override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
    {
        super.updateDisplayList(unscaledWidth, unscaledHeight);
        		
        // reset text if it was truncated before.
        if (titleDisplay.isTruncated)
            titleDisplay.text = title;
        titleDisplay.commitStyles();
        
		titleDisplay.setLayoutBoundsPosition(0, 0);
		titleDisplay.setLayoutBoundsSize(unscaledWidth, unscaledHeight);

        // now truncate the text
        titleDisplay.truncateToFit();
        
        titleDisplayShadow.commitStyles();
		titleDisplayShadow.setLayoutBoundsPosition(0, 1);
		titleDisplayShadow.setLayoutBoundsSize(unscaledWidth, unscaledHeight);
		
        titleDisplayShadow.alpha = getStyle("textShadowAlpha");
        
        // if labelDisplay is truncated, then push it down here as well.
