Java Swing布局管理器

2018-01-09 19:23 更新

Java Swing教程 - Java Swing布局管理器


容器使用布局管理器来定位其所有组件。

容器使用布局管理器来定位其所有组件。...

布局管理器是实现布局管理器接口或的Java类的对象LayoutManager2接口。LayoutManager2接口从LayoutManager接口继承。这两个接口都在java.awt包中。

以下列表是我们经常使用的布局管理器。

  • FlowLayout
  • BorderLayout
  • CardLayout
  • BoxLayout
  • GridLayout
  • GridBagLayout
  • GroupLayout
  • SpringLayout

每个容器都有一个默认布局管理器。JFrame的内容窗格的默认布局管理器是BorderLayout。

对于JPanel,默认布局管理器是FlowLayout。

我们可以通过使用setLayout()方法来更改容器的默认布局管理器。

要删除布局管理器,我们可以将null传递给setLayout()方法。

容器的getLayout()方法返回容器当前正在使用的布局管理器的引用。

以下代码显示如何将FlowLayout设置为布局管理器用于JFrame的内容窗格

JFrame  frame  = new JFrame("Frame"); 
Container contentPane = frame.getContentPane(); 
contentPane.setLayout(new FlowLayout());

以下代码显示如何将BorderLayout设置为JPanel的布局管理器。

JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());

以下代码显示如何将BorderLayout设置为JPanel的布局管理器。...

LayoutManager  layoutManager = container.getLayout()


空布局管理器

要删除布局管理器,请将布局管理器设置为null

myContainer.setLayout(null);

以下代码将JFrame的内容窗格的布局管理器设置为null。

JFrame  frame  = new JFrame(""); 
Container contentPane = frame.getContentPane(); 
contentPane.setLayout(null);

“空布局管理器"也称为绝对定位。

以下代码显示如何为JFrame的内容窗格使用空布局管理器。它使用setBounds()方法将两个按钮布局到它。

import java.awt.Container;
//from  w w w  . ja v a 2 s . c  om
import javax.swing.JButton;
import javax.swing.JFrame;

public class Main {
  public static void main(String[] args) {
    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Container contentPane = frame.getContentPane();
    contentPane.setLayout(null);

    JButton b1 = new JButton("Button");
    JButton b2 = new JButton("2");
    contentPane.add(b1);
    contentPane.add(b2);

    b1.setBounds(10, 10, 100, 20);
    b2.setBounds(120, 10, 150, 40);

    frame.setBounds(0, 0, 350, 100);
    frame.setVisible(true);
  }
}


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号