Java Swing BorderLayout

2018-01-09 19:23 更新

Java Swing教程 - Java Swing BorderLayout


BorderLayout將容器的空間分為五個(gè)區(qū)域:北,南,東,西和中心。

BorderLayout將容器的空間分為五個(gè)區(qū)域:北,南,東,西和中心。...

BorderLayout類定義了五個(gè)常量來(lái)標(biāo)識(shí)五個(gè)區(qū)域中的每一個(gè)。常數(shù)為NORTH,SOUTH,EAST,WEST和CENTER。

例如,要向北方區(qū)域添加按鈕。

JButton northButton = new JButton("North"); 
container.add(northButton, BorderLayout.NORTH);

JFrame的內(nèi)容窗格的默認(rèn)布局是BorderLayout。

以下代碼顯示如何向JFrame的內(nèi)容窗格添加五個(gè)按鈕。

import java.awt.BorderLayout;
import java.awt.Container;
//from   w w  w . j  a v  a  2s  .  co m
import javax.swing.JButton;
import javax.swing.JFrame;

public class Main {
  public static void main(String[] args) {
    JFrame frame = new JFrame("BorderLayout Test");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Container container = frame.getContentPane();

    // Add a button to each of the five areas of the BorderLayout
    container.add(new JButton("North"), BorderLayout.NORTH);
    container.add(new JButton("South"), BorderLayout.SOUTH);
    container.add(new JButton("East"), BorderLayout.EAST);
    container.add(new JButton("West"), BorderLayout.WEST);
    container.add(new JButton("Center"), BorderLayout.CENTER);

    frame.pack();
    frame.setVisible(true);
  }
}

我們可以在BorderLayout的每個(gè)區(qū)域最多添加一個(gè)組件。我們可以選擇將一些區(qū)域留空。

要將多個(gè)組件添加到BorderLayout的區(qū)域,請(qǐng)使用嵌套容器。

如果我們沒(méi)有為組件指定區(qū)域,則將其添加到中心。以下兩個(gè)語(yǔ)句具有相同的效果:

container.add(new JButton("Close"));
container.add(new JButton("Close"),  BorderLayout.CENTER);

BorderLayout根據(jù)面積計(jì)算組件的大小。它使用北和南的組件的首選高度。

BorderLayout根據(jù)北部和南部的可用空間水平伸展部件的寬度,它不考慮北部和南部部件的首選寬度。

BorderLayout尊重東部和西部的組件的首選寬度,并給予它們垂直填充整個(gè)空間所需的高度。

組件在中心區(qū)域被水平地和垂直地拉伸以適應(yīng)可用空間。中心區(qū)域不考慮其部件的優(yōu)選寬度和高度。



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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)