Download the JDK
Search the Tutorials
Hide the TOC
Laying Out Components Within a Container
A Visual Guide to Layout Managers
Using Layout Managers
How Layout Management Works
How to Use Various Layout Managers
How to Use BorderLayout
How to Use BoxLayout
How to Use CardLayout
How to Use FlowLayout
How to Use GridBagLayout
How to Use GridLayout
How to Use GroupLayout
A GroupLayout Example
How to Use SpringLayout
Creating a Custom Layout Manager
Doing Without a Layout Manager (Absolute Positioning)
Solving Common Layout Problems
Trail: Creating a GUI with JFC/Swing
Lesson: Laying Out Components Within a Container

> Examples Index

> This lesson tells you how to use the layout managers provided by the Java platform. It also tells you how to use absolute positioning (no layout manager) and gives an example of writing a custom layout manager. For each layout manager (or lack thereof), this lesson points to an example that you can run using JavaTM Web Start. By resizing an example's window, you can see how size changes affect the layout.

> > Note: This lesson covers writing layout code by hand, which can be challenging. If you are not interested in learning all the details of layout management, you might prefer to use the `GroupLayout` layout manager combined with a builder tool to lay out your GUI. One such builder tool is the NetBeans IDE. Otherwise, if you want to code by hand and do not want to use `GroupLayout`, then `GridBagLayout` is recommended as the next most flexible and powerful layout manager.

### A Visual Guide to Layout Managers

> This section shows examples of the standard layout managers and points to the how-to section for each one.

### Using Layout Managers

> This section gives general rules on using the standard layout managers. It includes how to set the layout manager, add components to a container, provide size and alignment hints, put space between components, and set the orientation of the container's layout so that it is appropriate for the locale in which the program is running. It also has some tips for choosing the right layout manager.

### How Layout Management Works

> This section goes through a typical layout sequence and then describes what happens when a component's size changes.

### How to Use ...

> This series of sections tells you how to use each of the general-purpose layout managers that the Java platform provides.

### Creating a Custom Layout Manager

> Instead of using one of the Java platform's layout managers, you can write your own. Layout managers must implement the `LayoutManager` interface, which specifies the five methods every layout manager must define. Optionally, layout managers can implement `LayoutManager2`, which is a subinterface of `LayoutManager`.

### Doing Without a Layout Manager (Absolute Positioning)

> If necessary, you can position components without using a layout manager. Generally, this solution is used to specify absolute sizes and positions for components.

### Solving Common Layout Problems

> Some of the most common layout problems involve components that are displayed too small — or not at all. This section tells you how to fix these and other common layout problems.

### Questions and Exercises

> Try these questions and exercises to test what you have learned in this lesson.

Previous page: Previous Lesson
Next page: A Visual Guide to Layout Managers