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]