         {
             // measure the label component
             var textHeight:Number = 0;
-            var labelLineMetrics:TextLineMetrics;
+            
+            // reset text if it was truncated before.
+            if (labelDisplay.isTruncated)
+                labelDisplay.text = label;
             
             if (label != "")
             {
-                labelLineMetrics = measureText(label);
-                textHeight = labelLineMetrics.height + UITextField.TEXT_HEIGHT_PADDING;
+                labelDisplay.commitStyles();
+                textHeight = labelDisplay.textHeight + UITextField.TEXT_HEIGHT_PADDING;
             }
             
             // text should take up the rest of the space width-wise, but only let it take up

            labelDisplay.x = Math.round(labelX);
            labelDisplay.y = Math.round(labelY);
            
            // reset text if it was truncated before.  then attempt to truncate it
            if (labelDisplay.isTruncated)
                labelDisplay.text = label;
            labelDisplay.truncateToFit();
        }
    }

        
        if (labelDisplay)
        {
            // reset text if it was truncated before.
            if (labelDisplay.isTruncated)
                labelDisplay.text = label;
            
            // commit styles so our text measurement is accurate
            labelDisplay.commitStyles();

            // Text respects padding right, left, top, and bottom
            measuredWidth = labelDisplay.textWidth + UITextField.TEXT_WIDTH_PADDING;
            measuredWidth += getStyle("paddingLeft") + getStyle("paddingRight");
            
            measuredHeight = labelDisplay.textHeight + UITextField.TEXT_HEIGHT_PADDING;
            measuredHeight += getStyle("paddingTop") + getStyle("paddingBottom");
        }
        
