J2se 有关swing布局管理的几个实例

有关swing布局管理的几个实例

1.BorderLayout:

BorderLayout只管里容器中的5个组件的排列方式,这五个组件的位置分别位于 东、南、西、北、中 方向。

 

2.BoxLayout:

 

BoxLayout 对容器中的组件进行同一方向上的平均排列,纵向或者横向。

 

import java.awt.BorderLayout;

import java.awt.Component;

import java.awt.Container;

import javax.swing.BoxLayout;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

public class BoxLayoutDemo {

 public static void addComponentsToPane(Container pane) {

  JPanel xPanel = new JPanel();

  xPanel.setLayout(new BoxLayout(xPanel, BoxLayout.X_AXIS));

  addButtons(xPanel);

  JPanel yPanel = new JPanel();

  yPanel.setLayout(new BoxLayout(yPanel, BoxLayout.Y_AXIS));

  addButtons(yPanel);  

  pane.add(yPanel, BorderLayout.PAGE_START);

  pane.add(xPanel, BorderLayout.PAGE_END);

 }

 private static void addAButton(String text, Container container) {

  JButton button = new JButton(text);

  button.setAlignmentX(Component.CENTER_ALIGNMENT);

  container.add(button);

 }

 private static void addButtons(Container container) {

  addAButton("Button 1", container);

  addAButton("Button 2", container);

  addAButton("Button 3", container);

  addAButton("Long Button 4", container);

  addAButton("Button 5", container);

 }

 private static void createAndShowGUI() {

  JFrame frame = new JFrame("BoxLayoutManage");

  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  addComponentsToPane(frame.getContentPane());

  frame.pack();

  frame.setVisible(true);

 }

 public static void main(String[] args) {

  javax.swing.SwingUtilities.invokeLater(new Runnable() {

   public void run() {

    createAndShowGUI();

   }

  });

 }

}
 
  

3.CardLayout:

 

4.FlowLayout:

FlowLayout 是一种比较简单的布局方式,它会将所有组件排列成一行,以组件的preferredSize显示,一般情况下,如果一行显示不了所有的组件,会自动换到下 一行显示。

 

5.GridBagLayout:

 

6.GridLayout:

 

 


 

 
  


                            

你可能感兴趣的:(swing)