Previous | Next | Trail Map | Creating a GUI with JFC/Swing | Laying Out Components Within a Container

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 the only layout manager 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(in the Creating a User Interface trail).


Previous | Next | Trail Map | Creating a GUI with JFC/Swing | Laying Out Components Within a Container