This week's book giveaway is in the OCMJEA forum. We're giving away four copies of OCM Java EE 6 Enterprise Architect Exam Guide and have Paul Allen & Joseph Bambara on-line! See this thread for details.
I am trying to centre a circle component i have created. I think my method of calculating the correct co ordinates is right, but when i try to translate using the new co ordinates i get an error saying
cannot find symbol
symbol: Method translate(double,double)
location: variable circle of type Double
Your variable circle has the type java.awt.geom.Ellipse2D.Double. When I look that class up in the API documentation, I don't see that it has a method translate(). The compiler is complaining that that method doesn't exist.
There is not method translate for the type you are using, hence the error.
You can first calculate the position where your ellipse is to be drawn and then draw it (no need for changing). By the way, the code for calculating y coordinate of the center is not correct.
The quieter you are, the more you are able to hear.
Joined: Apr 27, 2012
Thanks, had a re-think and decided to make the height/width a percentage of the JComponent size.
Is this the most efficient way to do it or have i made more work for myself than needed?
I shall move you to our GUIs forum.
There is in fact an object around which has a translate() method, but it aint’t the circle. It’s the Graphics object. Look here and search/Google for affine transforms. I suggest you copy the Graphics object; some affine transforms can alter the object in such a way that you can never return it to its original state. You also need to cast it to Graphics2D. Something like this might work.Read the documentation carefully; that doesn’t mean 12 right and 34 up.