Laying Out Components Within a Container |
TheFlowLayout
class provides a very simple layout manager that is used, by default, byJPanel
s. Here's an applet that shows a flow layout in action:
This is a picture of the applet's GUI. To run the applet, click the picture. The applet will appear in a new browser window.
FlowLayout
puts components in a row, sized at their preferred size. If the horizontal space in the container is too small to put all the components in one row,FlowLayout
uses multiple rows. Within each row, components are centered (the default), left-aligned, or right-aligned as specified when theFlowLayout
is created.Below is the code that creates the
FlowLayout
and the components it manages. (Here's the whole program. The program runs either within an applet, with the help ofAppletButton
, or as an application.)TheContainer contentPane = getContentPane(); contentPane.setLayout(new FlowLayout()); contentpane.setFont(new Font("Helvetica", Font.PLAIN, 14)); contentPane.add(new JButton("Button 1")); contentPane.add(new JButton("2")); contentPane.add(new JButton("Button 3")); contentPane.add(new JButton("Long-Named Button 4")); contentPane.add(new JButton("Button 5"));FlowLayout
class has three constructors:Thepublic FlowLayout() public FlowLayout(int alignment) public FlowLayout(int alignment, int horizontalGap, int verticalGap)alignment
argument must have the valueFlowLayout.LEFT
,FlowLayout.CENTER
, orFlowLayout.RIGHT
. ThehorizontalGap
andverticalGap
arguments specify the number of pixels to put between components. If you don't specify a gap value,FlowLayout
uses5
for the default gap value.Examples that Use FlowLayout
The following table lists some of the examples that use flow layout.
Example Where Described Notes FlowWindow.java
This page Sets up a content pane to use FlowLayout
.ButtonDemo.java
How to Use Buttons, Check Boxes, and Radio Buttons Uses the default FlowLayout
of aJPanel
.
Laying Out Components Within a Container |