Trail: Creating a GUI with JFC/Swing
Lesson: Laying Out Components Within a Container
Solving Common Layout Problems
Solving Common Layout Problems
Problem: How do I specify a component's exact size?

Note:  No matter how you specify your component's size, be sure that your component's container uses a layout manager that respects the requested size of the component. The FlowLayout and GridBagLayout managers use the component's preferred size (the latter depending on the constraints that you set), but BorderLayout and GridLayout usually don't. The BoxLayout manager generally uses a component's preferred size (although components can be larger), and is one of the few layout managers that respects the component's maximum size.

If you specify new size hints for a component that's already visible, you then need to invoke the revalidate method on it, to make sure that its containment hierarchy is laid out again. Then invoke the repaint method.


Problem: My custom component is being sized too small.

If you don't see your problem in this list, see Solving Common Component Problems.

Previous page: Doing Without a Layout Manager (Absolute Positioning)
Next page: Questions and Exercises: Laying Out Components within a Container