File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Swing / AWT / SWT and the fly likes Graphics problems Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Swing / AWT / SWT
Bookmark "Graphics problems" Watch "Graphics problems" New topic

Graphics problems

malcolm bailey

Joined: Aug 10, 2001
Posts: 22
Hello People,
I'm trying to write a game that invloves placing a piece on a "board" and then doing stuff to it, like moving it about etc.. I would like to have a grahic that is independent of the board, but I don't know how to do this. At the moment, I have a piece that I place on the board, but I've done it with a polygon, which is part of the board, by definition. My code looks something like this (off the top of my head..)
public class board extends JPanel
public board()
//constructor stuff..
public void paintComponent(Graphics g)

int [] x = {x1, x2, x3, x4}
int [] y = {y1, y2, y3, y4}
Polygon p = new Polygon(x, y, 4);
//more code that does other stuff..
I basically want something that I can place anywhere I like, and then move or rotate it, etc.. I reckon it would be better to have something independent of the JPanel so I could then put it in a different class and manipulate it independently if I want to.
Any help would, of course, be greatly appreciated!
Nathan Pruett

Joined: Oct 18, 2000
Posts: 4121

One way that you could do this is by making a paintComponent(Graphics) method inside the class that represents your game piece. Then, inside the paintComponent(Graphics) method of your board class iterate through your pieces and pass the Graphics reference to that piece's paintComponent() method.

Here's a short (fake code - does not compile) example :

[ July 31, 2002: Message edited by: Nathan Pruett ]

Write once, run anywhere, because there's nowhere to hide! - /. A.C.
malcolm bailey

Joined: Aug 10, 2001
Posts: 22
Hi Nate,
SOrry I've not replied, I've been away from programming for a wee while, but I've had a look at what you suggested and it's working well, thanks very much!!
I agree. Here's the link:
subject: Graphics problems
It's not a secret anymore!