Hi Sean,

thanks for the help,

First off, I'd not copy stuff from OvalPortrayal2D unless you have to.
> Just subclass your agents from OvalPortrayal2D.  Then you can say:
>     public final void draw(Object object, Graphics2D graphics, DrawInfo2D
> info) {
>         if (answer)
>             graphics.setColor(rightAnswer);
>         else
>             graphics.setColor(badAnswer);
>         super.draw(object, graphics, info);
>         }

Actually I was copying your code from antsforage, but if I do as you
suggest here, my agents don't get colored, they remains grey as default.

About the labeling, I have added these lines as suggested:
 * in MyModelWithUI.java
public void setupPortrayals() {
        ArgumentativeAgents af = (ArgumentativeAgents)state;
        // NEW CODE
        LabelledPortrayal2D foo = new LabelledPortrayal2D(null, "pipo");
        bugPortrayal.setPortrayalForClass(ArgumentativeAgent.class, foo);
        // END
        // reschedule the displayer
        // redraw the display

 * In ArgumentativeAgent.java
    public String toString(){
        return String.valueOf(id);

But nothing's happening... where am I wrong?