Forums Register Login
Forcing size of JPanel
I'm trying to create a color panel behind some JLabels for visual feedback on a process. The problem I'm having is that the panel automatically resizes to fit the labels, regardless of any of the size settings.

This is a data collection program running on our factory floor collecting data from some wireless barcode scanners. The labels provide detailed status of the process is you are standing near the monitor, but the colored panel provides feedback the operators can see across the shop floor.

I've sucessfully set the size of the labels based on a percentage of the parent JFrame, but even if I set the color panel to 90% of the frame width, it automatically downsizes to just contain the labels.

Is there any way to force a panel to be certain size and not automatically shrink to fit the contained elements? Or, is there some other way to do what I'm trying to do?

[ January 27, 2005: Message edited by: Tom Blough ]
Hi Tom,

Best regards,
oops ;-)

You may look at the setPreferredSize(java.awt.Dimension) method. look
here for details.
Yup, already tried setPreferredSize and setMinimumSize. Panels seem to ignore these and automatically resize to fit the contained items.

[ January 27, 2005: Message edited by: Tom Blough ]
I think your problem is actually with your LayoutManager.

You can set a panels layout manager to null.

Do that, and then set the size of your panel to whatever you like. Just remember that any components you place on that panel will now have to have their locations specified also.
Thanks, Jefff. That does work, but is a PITA. Are there any layout managers that do not pack the components before displaying, or any way to disable packing for a given layout manager?

Not that I know of.

It's less of a PITA if you use a IDE that has some sort of graphical design module.

I use JBuilder and it seems to easy enough to get along with.
have you included a frame.pack() or just pack() (if extending JFrame)
this will (generally) set everything to their preferred size
Paper jam tastes about as you would expect. Try some on this tiny ad:
RavenDB is an Open Source NoSQL Database that’s fully transactional (ACID) across your database

This thread has been viewed 8831 times.

All times above are in ranch (not your local) time.
The current ranch time is
Jan 21, 2019 13:52:08.