首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

Java AWT BorderLayout 介紹與巢狀面板範例

     編輯:Java 程式設計入門

BorderLayout 是 AWT 五大預設佈局管理器之一,將容器劃分為北、南、東、西、中五個區域。本例展示如何使用巢狀面板(Nested Panels)結合 BorderLayout 與 FlowLayout 建構複雜介面。

import java.awt.*;
import java.applet.*;

public class NestedPanels extends Applet {
    protected Choice choice;
    protected Button b;
    protected Label messageBox;

    public NestedPanels() {
        // 中央面板使用 BorderLayout
        Panel center = new Panel();
        center.setLayout(new BorderLayout());
        center.add(new Button("North"), BorderLayout.NORTH);
        center.add(new Button("South"), BorderLayout.SOUTH);
        center.add(new Button("West"), BorderLayout.WEST);
        center.add(new Button("East"), BorderLayout.EAST);
        center.add(new Button("Center"), BorderLayout.CENTER);

        // 底部面板使用 FlowLayout
        Panel south = new Panel();
        south.setLayout(new FlowLayout());
        b = new Button("Help");
        south.add(b);
        choice = new Choice();
        choice.addItem("one");
        choice.addItem("two");
        choice.addItem("three");
        choice.addItem("four");
        choice.addItem("five");
        south.add(choice);
        messageBox = new Label("This is a message bar.");
        south.add(messageBox);

        // 整體 Applet 使用 BorderLayout
        setLayout(new BorderLayout());
        add(new Button("North"), BorderLayout.NORTH);
        add(new Button("West"), BorderLayout.WEST); // 原碼拼寫 WSET,已修正
        add(new Button("East"), BorderLayout.EAST);
        add(south, BorderLayout.SOUTH);
        add(center, BorderLayout.CENTER);
    }
}

重點說明:

  • 每個區域只能放一個元件;若需多個元件,須先放入一個 Panel 再加入該區域。
  • 巢狀面板可混合不同佈局,如範例中中央面板用 BorderLayout,底部面板用 FlowLayout。
  • 原始碼有拼字錯誤 BorderLayout.WSET,正確為 BorderLayout.WEST。

現代 Swing 開發建議改用 JPanel 並搭配 BorderLayout,用法相同。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved