Java Swing布局管理器

2018-01-09 19:23 更新

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


容器使用布局管理器來定位其所有組件。

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

布局管理器是實現(xiàn)布局管理器接口或的Java類的對象LayoutManager2接口。LayoutManager2接口從LayoutManager接口繼承。這兩個接口都在java.awt包中。

以下列表是我們經(jīng)常使用的布局管理器。

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

每個容器都有一個默認布局管理器。JFrame的內(nèi)容窗格的默認布局管理器是BorderLayout。

對于JPanel,默認布局管理器是FlowLayout。

我們可以通過使用setLayout()方法來更改容器的默認布局管理器。

要刪除布局管理器,我們可以將null傳遞給setLayout()方法。

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

以下代碼顯示如何將FlowLayout設(shè)置為布局管理器用于JFrame的內(nèi)容窗格

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

以下代碼顯示如何將BorderLayout設(shè)置為JPanel的布局管理器。

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

以下代碼顯示如何將BorderLayout設(shè)置為JPanel的布局管理器。...

LayoutManager  layoutManager = container.getLayout()


空布局管理器

要刪除布局管理器,請將布局管理器設(shè)置為null

myContainer.setLayout(null);

以下代碼將JFrame的內(nèi)容窗格的布局管理器設(shè)置為null。

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

“空布局管理器"也稱為絕對定位。

以下代碼顯示如何為JFrame的內(nèi)容窗格使用空布局管理器。它使用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);
  }
}


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號