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