public void paintShape(Graphics2D g2)
    {
        if (image != null)
        {
            Dimension dim = label.getPreferredSize();
            if (dim.width > 0 && dim.height > 0)
            {
                label.setBounds(0, 0, dim.width, dim.height);
                g2.translate(getX(), getY());
                g2.scale((image.getWidth() + 2 * xGrow) / dim.width, 
                    (image.getHeight() + 2 * yGrow) / dim.height);
                label.paint(g2);
            }
        }
    }