you could also use
AffineTransform.getTranslateInstance(x,y)

to get an AffineTransform, then use createTransformedShape() on your Shape...

doesn't that do the job?

> -----Original Message-----
> From: Discussion list for Java 2D API 
> [mailto:[EMAIL PROTECTED] On Behalf Of "Jan 
> Bösenberg (INCORS GmbH)"
> Sent: Monday, October 23, 2006 11:56 AM
> To: [EMAIL PROTECTED]
> Subject: Re: [JAVA2D] Moving Shape
> 
> 
> You could implement this with a class like this:
> 
> 
> public class ShapeObject implements Shape {
>   private final Shape shape;
>   private float x = 0;
>   private float y = 0;
> 
>   public ShapeObject(Shape shape) {
>     this.shape = shape;
>   }
> 
>   public float getX() {
>     return x;
>   }
> 
>   public void setX(float x) {
>     this.x = x;
>   }
> 
>   public float getY() {
>     return y;
>   }
> 
>   public void setY(float y) {
>     this.y = y;
>   }
> 
>   public boolean *contains*(double x,  double y) {
>     return shape.contains(x - this.x, y - this.y);
>   }
> 
>   public Rectangle2D *getBounds2D*()  {
>     Rectangle2D bounds2D = shape.getBounds2D();
>     bounds2D.setRect(bounds2D.getX() + x, bounds2D.getY() + 
> y, bounds2D.getWidth(), bounds2D.getHeight());
>     return bounds2D;
>   }
> 
>   public PathIterator *getPathIterator*(AffineTransform at) {
>      AffineTransform at2 = new AffineTransform(at);
>      at2.translate(x, y);
>      return shape.getPathIterator(at2);
>   }
> 
> 
>   // You have to implement the other Shape methods yourself
> 
> 
> }
> 
> 
> This class is more or less all you need. Put each of your 
> shapes into a ShapeObject class and move the ShapeObjects 
> around using the setX() and
> setY() methods.
> 
> BTW, the questions was not too stupid to be answered, but 
> most people have quite a lot to do so answers sometimes take 
> a bit longer or never come.
> 
> 
> Cheers
>  Jan
> 
> 
> 
> 
> 
> Danilo Costa wrote:
> 
> > No body has any idea? Or is the question too much stupid to be 
> > answered?
> >
> > On 10/22/06, *Danilo Costa* <[EMAIL PROTECTED] 
> > <mailto:[EMAIL PROTECTED]>> wrote:
> >
> >     I think it is a dummy question, but I cant find its 
> answer easily.
> >
> >     I have a collection of Shapes that are rendered in a 
> canvas and I
> >     have to let the user to interact with it, dragging it.
> >     I've found this example
> >     http://java.sun.com/docs/books/tutorial/2d/display/user.html
> >     called Shape mover, but actually it works only with Rectangle
> >     class, which has convenient methods for that, such as 
> setLocation
> >     and translate. I am wondering why Shape interface does 
> not define
> >     those methods? How can I implement such methods when I 
> am working
> >     with generic shapes? Any help is appreciate.
> >
> >     Tahanks
> >     Danilo
> >     --
> >     "...YOU CANNOT KNOW THE MEANING OF YOUR LIFE UNTIL YOU ARE
> >     CONNECTED WITH THE POWER THAT CREATED YOU..."
> >     Shri Mataji Nirmala Devi
> >
> >
> >
> >
> > --
> > "...YOU CANNOT KNOW THE MEANING OF YOUR LIFE UNTIL YOU ARE 
> CONNECTED 
> > WITH THE POWER THAT CREATED YOU..." Shri Mataji Nirmala Devi
> > 
> ==============================================================
> =============
> > To unsubscribe, send email to [EMAIL PROTECTED] and 
> include in the
> > body of the message "signoff JAVA2D-INTEREST". For general 
> help, send
> > email to [EMAIL PROTECTED] and include in the body of 
> the message
> > "help".
> 
> ==============================================================
> =============
> To unsubscribe, send email to [EMAIL PROTECTED] and 
> include in the body of the message "signoff JAVA2D-INTEREST". 
>  For general help, send email to [EMAIL PROTECTED] and 
> include in the body of the message "help".
> 

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA2D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to