Win a copy of Design for the Mind this week in the Design forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Shapes return 0's as coordinates, width & height

 
Veronique Kus
Ranch Hand
Posts: 41
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
the code below is supposed to allow me to draw mutliple shapes.
Currently I'm trying to implement selecting shapes by clicking on them (to be able to drag them to a different location).
In the mouseClicked() method, I check whether the user just clicked inside a shape. However, it never returns true.
In the mouseExited() method I print width, height and class name of each of the shapes contained in the shapeList (which contains
all shapes drawn by the user). As it turns out, all shapes return zero values for width, height, central point coordinates etc. and I have no idea why?
My shape class extends the Rectangle2D.Double class so I don't know why methods like getHeight() etc. don't work properly on my shapes... If I override these methods
in my Shape implementation, they return correct values but I want to use the standard implementations contained in the Rectangle2D.Double class.

I would be veeery grateful for help with this!






 
Ernest Friedman-Hill
author and iconoclast
Marshal
Pie
Posts: 24208
35
Chrome Eclipse IDE Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Those "standard implementations" operate on the data held inside the Rect2D.Double class. Your subclass defines its own data, and it's only your own data that is initialized in your constructors. Instead, your implementation must use the member variables already defined in the superclass, and your constructors must make sure that data is initialized by calling the proper superclass constructors.
 
Veronique Kus
Ranch Hand
Posts: 41
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Forgot about an obvious thing, thank you.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic