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;
        bugPortrayal.setField(af.buggrid);
        // NEW CODE
        LabelledPortrayal2D foo = new LabelledPortrayal2D(null, "pipo");
        bugPortrayal.setPortrayalForClass(ArgumentativeAgent.class, foo);
        // END
        // reschedule the displayer
        display.reset();
        // redraw the display
        display.repaint();
    }

/*
 * In ArgumentativeAgent.java
 */
    @Override
    public String toString(){
        return String.valueOf(id);
    }

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

Best,
Simone