perfect, they both works... I only have to move part of the labels from behind the agents, but I think it won't be hard... Thank you very much! Best, Simone 2015-02-11 17:46 GMT+01:00 Sean Luke <[log in to unmask]>: > On Feb 11, 2015, at 11:35 AM, Simone Gabbriellini < > [log in to unmask]> wrote: > > > 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. > > I'm sorry, I should have said: > > public final void draw(Object object, Graphics2D graphics, DrawInfo2D > info) { > if (answer) > paint = rightAnswer; > else > paint = badAnswer; > super.draw(object, graphics, info); > } > > > About the labeling, I have added these lines as suggested: > > But nothing's happening... where am I wrong? > > I forgot that your agents are also SimplePortrayals. In the > FieldPortrayal, when it needs to know how to draw an object, it does this: > > If there is a portrayalForAll, use it. > Else if the object is null: > Use the portrayalForNull if there is one > Else if a portrayal is explicitly registered for null, use it. > Else use the defaultNullPortrayal. > Else if the object is non-null: > If the object implements the appropriate Portrayal interface, use > the object itself. > Else use the portrayalForNonNull if there is one > Else if a portrayal is explicitly registered for the object, use > that portrayal. > Else if a Portrayal is registered for the object's exact class > (superclasses are ignored), use that portrayal. > Else use the portrayalForRemainder if there is one > Else use the default Portrayal object. > > The problem is that your object implements the Portrayal interface, so it > overrides the portrayal we set up for the object's class. If your field > only contains object of this type simplest solution would be to register > the portrayal for ALL rather than for a given CLASS: > > bugPortrayal.setPortrayalForAll(foo); > > Sean > -- ----------------------------------------------------------------- Simone Gabbriellini, PhD Post-doctoral Researcher ANR founded research project "DIFFCERAM" GEMASS, CNRS & Paris-Sorbonne. mobile: +39 340 39 75 626 email: [log in to unmask]