本站電子書

您可以在這些電子書店找到本站電子書: Google Play 圖書iBooks StoreHyReadReadmooPubu
===>>>本站推出學習遊戲意見調查<<<===《如何自學程式設計》入選 Google Play 台灣地區2016年度最佳書籍

Java API 分類導覽 - java.awt 排版管理員

java.awt Frame 預設的排版管理為 BorderLayout , Panel 則是 FlowLayout ,另外還有三種排版管理員 (layout manager) 類別 (class) 與一個設定用的類別,全部如下表

名稱敘述
BorderLayout邊界式排版管理員
CardLayout卡片式排版管理員
FlowLayout流動式排版管理員
GridBagConstraints設定 GridBagLayout 需要的屬性
GridBagLayout複雜型格子式排版管理員
GridLayout簡易型格子式排版管理員


亦可不設定排版管理員,此時 setLayout() 須設定成 null ,然後自行設定元件於視窗中的座標。


舉例如下
import java.awt.*;
import java.awt.event.*;

public class BorderLayoutDemo2 {
    public static void main(String[] args) {
        Frame frame = new Frame("AWTDemo");
        frame.addWindowListener(new AdapterDemo());
        frame.setLayout(new BorderLayout());
        
        Button center = new Button("CENTER");
        Button east = new Button("EAST");
        Button north = new Button("NORTH");
        Button south = new Button("SOUTH");
        Button west = new Button("WEST");
        
        frame.add(center, BorderLayout.CENTER);
        frame.add(east, BorderLayout.EAST);
        frame.add(north, BorderLayout.NORTH);
        frame.add(south, BorderLayout.SOUTH);
        frame.add(west, BorderLayout.WEST);
        
        frame.pack();
        frame.setVisible(true);
    }
}

class AdapterDemo extends WindowAdapter {
    public void windowClosing(WindowEvent e) {
        System.exit(0);
    }
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:BorderLayoutDemo2.java
    功能:示範 Java 程式 
    作者:張凱慶
    時間:西元 2012 年 3 月 */


此例建立 Frame 物件後,呼叫 Frame 的 setLayout() 方法 (method) 將排版管理員設定為 BorderLayout
frame.setLayout(new BorderLayout());


然後建立五個按鈕,將按鈕加入 Frame 之中的時候,同時以 BorderLayout 的 CENTER 、 EAST 等屬性指定按鈕放入的區域
frame.add(center, BorderLayout.CENTER);
frame.add(east, BorderLayout.EAST);
frame.add(north, BorderLayout.NORTH);
frame.add(south, BorderLayout.SOUTH);
frame.add(west, BorderLayout.WEST);


編譯後執行,結果如下



中英文術語對照
類別class
方法method
排版管理員layout manager


您可以繼續參考
排版管理員


相關目錄
Java API 分類導覽
Java 教材
首頁


參考資料
http://docs.oracle.com/javase/tutorial/uiswing/layout/index.html

沒有留言: