The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer available.
See Java Language Changes for a summary of updated language features in Java SE 9 and subsequent releases.
See JDK Release Notes for information about new features, enhancements, and removed or deprecated options for all JDK releases.
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 Java™ Web Start. By resizing an example's window, you can see how size changes affect the layout.
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.
If you are interested in using JavaFX to create your GUI, see Working With Layouts in JavaFX.
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
.
If necessary, you can position components without using a layout manager. Generally, this solution is used to specify absolute sizes and positions for components.
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.
Try these questions and exercises to test what you have learned in this lesson.
If you are interested in using JavaFX to create your GUI, see Working With Layouts in JavaFX.