aspose file tools*
The moose likes Swing / AWT / SWT and the fly likes need help with graphics problem Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Swing / AWT / SWT
Bookmark "need help with graphics problem" Watch "need help with graphics problem" New topic
Author

need help with graphics problem

Willie Tsang
Greenhorn

Joined: Nov 20, 2011
Posts: 24
my program can run, but some of the vehicle it spawns are cut off in the output. Can someone help me find my problem?

purpose of program: randomly spawns 10 vehicle in random positions.(cars or trucks)











Thanks alot for any help.
Mohamed Sanaulla
Saloon Keeper

Joined: Sep 08, 2007
Posts: 3068
    
  33

I think this would better sit in the Swing forum, hence moving it.


Mohamed Sanaulla | My Blog
Rob Spoor
Sheriff

Joined: Oct 27, 2005
Posts: 19670
    
  18

You are trying to draw the trucks and cars outside their own bounds. You think they will fit because of the call to setBounds, but the layout manager (GridLayout) ignores that and sets new bounds based on the frame size and number of vehicles.


SCJP 1.4 - SCJP 6 - SCWCD 5 - OCEEJBD 6
How To Ask Questions How To Answer Questions
Willie Tsang
Greenhorn

Joined: Nov 20, 2011
Posts: 24
Thanks for the reply. I tried changing the layout manager and the bounds, but then if i don't use grided layout, only one vehicle will show up. Can you tell me which should i use, or change?
Rob Camick
Ranch Hand

Joined: Jun 13, 2009
Posts: 2171
    
    7
purpose of program: randomly spawns 10 vehicle in random positions.(cars or trucks)


Your custom painting is wrong. For example you set the size of your Car to be (80, 55). But then you randomly generate x/y to be between 100/300. So if x/y are (100, 300) then the painting of your cars is done outside the bounds of your Car. Instead your Car painting should always be done from (0, 0). Then to position your cars on the parent panel you use the setLocation(x, y) of the Car.

The code should be something like:





only one vehicle will show up.


Another problem is that panels are opaque, which means that you can't see through the panel so all the panels will paint on top of one another.

Instead try extending JComponent. By default a JComponent doesn't paint a background so you should be able to see all Vehicles separately.
Willie Tsang
Greenhorn

Joined: Nov 20, 2011
Posts: 24
Thanks so much, i finally got it to work....
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: need help with graphics problem