【Java AWT 图形界面编程】LayoutManager 布局管理器 ④ ( GridLayout 网格布局 | GridBagLayout 网格包布局 )
文章目錄
- 一、GridLayout 網格布局
- 二、GridLayout 構造函數
- 三、GridLayout 網格布局代碼示例
- 四、GridBagLayout 網格包布局
一、GridLayout 網格布局
GridLayout 網格布局管理器 可以將 當前的 Container 容器 劃分成 網格 , 每個網格 區域 相同 ;
向 使用了 GridLayout 網格布局管理器 的 Container 容器 中添加 Component 組件時 , 默認的添加順序是 從左到右 , 從上到下 ;
放置在 GridLayout 網格中的組件 , 組件的大小由網格的區域大小決定 , 默認情況下 組件會填充滿所在的單個網格區域 ;
二、GridLayout 構造函數
GridLayout 構造函數 :
- GridLayout() : 單行網格布局 ;
- GridLayout(int rows, int cols) : 網格布局 中的 行數 和 列數 使用指定的值 , 網格的 水平 和 垂直 間隔使用默認值 ;
- GridLayout(int rows, int cols, int hgap, int vgap) : 網格布局 中的 行數 和 列數 使用指定的值 , 網格的 水平 和 垂直 間隔使用指定的值 ;
三、GridLayout 網格布局代碼示例
代碼示例 :
import java.awt.*;public class HelloAWT {public static void main(String[] args) {// Frame 默認的布局管理器就是 BorderLayoutFrame frame = new Frame("AWT 界面編程");// 用于存放 文本框Panel panel = new Panel();// 該文本框可以存放 30 個字符TextField textField = new TextField(30);panel.add(textField);frame.add(panel, BorderLayout.NORTH);// 用于存放 網格布局中的組件// 需要設置該容器的 布局管理器為 網格布局管理器Panel panel2 = new Panel();panel2.setLayout(new GridLayout(3, 5, 4, 4));for (int i = 0; i < 10; i++) {panel2.add(new Button(i + ""));}panel2.add(new Button("+"));panel2.add(new Button("-"));panel2.add(new Button("*"));panel2.add(new Button("/"));panel2.add(new Button("="));frame.add(panel2, BorderLayout.CENTER);// 自定設置合適的大小frame.pack();frame.setVisible(true);} }執行結果 :
四、GridBagLayout 網格包布局
GridBagLayout 網格包布局 , 是在 GridLayout 網格布局的基礎上 , 單個組件可以占用多個網格 , 占用的多個網格的大小形狀也可以任意設置 , 每個組件都可以占用多行和多列的網格 , 即 m x n 大小的網格 , 如 : 占用 1 x 2 的網格 , 占用 3 x 4 的網格 ;
如果 GridBagLayout 網格包布局所在的 窗口 大小改變 , 對應的 網格 也會被 拉伸或壓縮 ;
向 使用 GridBagLayout 網格包布局 的 Container 容器中 添加 Component 組件時 , 需要指定添加的 組件具體占的 網格 行列數 ; 可借助 GridBagConstaints 配置 組件 的 行列大小 ;
總結
以上是生活随笔為你收集整理的【Java AWT 图形界面编程】LayoutManager 布局管理器 ④ ( GridLayout 网格布局 | GridBagLayout 网格包布局 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 保研就这样联系导师
- 下一篇: 七界传说后传第八卷阅读 手打文字版