public void paint(Graphics g)
    {
        if (fm == null) {
            this.font = mcd.getFont();
            this.fm = mcd.getFontMetrics(font);
        }

        updateSize();
        Graphics2D g2d = (Graphics2D) g;
        g2d.setFont(font);

        RoundRectangle2D r = new RoundRectangle2D.Double(getX(), getY(),
                getWidth(), getHeight(), 1, 1);
        //Rectangle2D r = new Rectangle2D.Double(getX(), getY(), getWidth(),
        // getHeight());
        Line2D l = new Line2D.Double(getX(), 25 + getY(), getWidth() + getX(),
                getY() + 25);
        g2d.setColor(Color.white);
        g2d.fill(r);
        g2d.setColor(Color.blue);
        g2d.draw(r);
        g2d.draw(l);

        g2d.setColor(Color.black);
        g2d.drawString(name, getX() + 10, getY() + 15);

        for (int i = 0; i < sizeInformation(); i++)
            g2d.drawString((String) (data.getValue(getCodeInformation(i),
                    DictionnaireTable.NAME)), getX() + 10, getY() + 40 + i
                    * (fm.getMaxDescent() + 15));

        if (sizeInformation() > 0) {
            String nom = (String) (data.getValue(getCodeInformation(0),
                    DictionnaireTable.NAME));
            l = new Line2D.Double(getX() + 10, 45 + getY(), getX()
                    + fm.stringWidth(nom) + 10, 45 + getY());
            g2d.draw(l);
        }
    }