package acme.beans;

import java.awt.*;
import java.io.Serializable;


public class Acme04Bean extends Canvas implements Serializable {

    public Acme04Bean() {
        resize(60,40);
        this.label="Bean";
        setFont(new Font("Dialog", Font.PLAIN, 12));
    }

    public void paint(Graphics g) {
        g.setColor(beanColor);
        g.fillRect(20, 5, 20, 30);
        g.fillArc(5, 5, 30, 30, 0, 360);
        g.fillArc(25, 5, 30, 30, 0, 360);
        g.setColor(Color.blue);

        int width = size().width;
        int height = size().height;
        FontMetrics fm = g.getFontMetrics();
        g.drawString(label, (width - fm.stringWidth(label)) / 2, 
                          (height + fm.getMaxAscent() - fm.getMaxDescent()) / 2);
    }

    public Color getColor() {
        return beanColor;
    }

    public void setColor(Color newColor) {
        beanColor = newColor;
        repaint();
    }

    public String getLabel() {
        return label;
    }

    public void setLabel(String newLabel) {
        String oldLabel = label;
        label = newLabel;
    }

    private Color beanColor = Color.cyan;
    private String label;
}

