當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java AWT BorderLayout用法及代碼示例


BorderLayout 是 JFrame、JWindow、JDialog、JInternalFrame 等窗口對象的默認布局。BorderLayout 將組件排列在五個區域中。四個邊被稱為北、南、東、西。中間部分稱為中心。每個區域隻能包含一個組件,並由相應的常量標識為NORTH,SOUTH,EAST,WEST, 和CENTER

構造函數:

  1. BorderLayout():它將構建一個新的邊框布局,組件之間沒有間隙。
  2. 邊框布局(int,int):它將構建一個具有組件之間指定間隙的邊框布局。

常用方法:

  1. toString():返回一個字符串,表示邊框布局的狀態。
  2. getLayoutAlignmentX(容器父級):返回沿 X 軸的布局對齊方式。
  3. getLayoutAlignmentY(容器父級):它將返回沿 Y 軸的布局對齊方式。
  4. 移除布局組件(組件組件):該方法用於從borderlayout中移除指定的組件。
  5. getVgap():返回組件之間的垂直間隙。
  6. getHgap():返回組件之間的水平間隙。
  7. setHgap(int hgap):用於設置組件之間的水平間隙。
  8. setVgap(int vgap):用於設置組件之間的垂直間隙。

下麵的程序將說明 BorderLayout 類:

  • 程序1:以下程序在 a 中創建 JButton 組件J框架,其實例類是“BorderLayoutDemo”。我們創建5個JButton然後將它們添加到J框架通過使用add()方法。我們將使用以下方法設置框架的大小和可見性setSize()setVisible()方法分別。布局是通過使用setLayout()方法。

Java


// Java program to illustrate the BorderLayout
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
// class extends JFrame
class BoderLayoutDemo extends JFrame {
    BoderLayoutDemo()
    {
         
        // Creating Object of Jpanel class
        JPanel pa = new JPanel();
        // set the layout
        pa.setLayout(new BorderLayout());
        // add a new JButton with name "wel" and it is
        // lie top of the container
        pa.add(new JButton("WelCome"), BorderLayout.NORTH);
        // add a new JButton with name "come" and it is
        // lie button of the container
        pa.add(new JButton("Geeks"), BorderLayout.SOUTH);
        // add a new JButton with name "Layout" and it is
        // lie left of the container
        pa.add(new JButton("Layout"), BorderLayout.EAST);
        // add a new JButton with name "Border" and it is
        // lie right of the container
        pa.add(new JButton("Border"), BorderLayout.WEST);
        // add a new JButton with name "hello everybody" and it is
        // lie center of the container
        pa.add(new JButton("GeeksforGeeks"), BorderLayout.CENTER);
        // add the pa object which refer to the Jpanel
        add(pa);
        // Function to close the operation of JFrame.
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // Function to set size of JFrame.
        setSize(300, 300);
        // Function to set visible status of JFrame.
        setVisible(true);
    }
}
class MainFrame {
    // Driver code
    public static void main(String[] args)
    {
         
        // calling the constructor
        new BoderLayoutDemo();
    }
}

輸出:

  • 程序2:該程序將展示如何在 BorderLayout 中傳遞參數。使用設置背景顏色setBackground()方法。我們創建 5 個 JButton 組件,名為“按鈕1“,”按鈕2“,”按鈕3“,”按鈕4“,”按鈕5“,然後使用將它們添加到 JFrameadd()方法。我們通過使用設置框架的標題、大小和可見性setTitle(),setSize()setVisible()分別方法。布局通過方法設置setLayout().

Java


// Java program to illustrate the BorderLayout
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.Frame;
import java.awt.Button;
import java.awt.Color;
  
// class extends JFrame
public class BorderDemo extends JFrame {
  
    // Constructor of BorderDemo class.
    public BorderDemo()
    {
  
        // set the layout
        setLayout(new BorderLayout());
  
        // set the background
        setBackground(Color.red);
  
        // creates Button (btn1)
        Button btn1 = new Button("Geeks");
  
        // creates Button (btn2)
        Button btn2 = new Button("GFG");
  
        // creates Button (btn3)
        Button btn3 = new Button("Sudo Placement");
  
        // creates Button (btn4)
        Button btn4 = new Button("GeeksforGeeks");
  
        // creates Button (btn5)
        Button btn5 = new Button("Java");
  
        // Adding JButton "btn1" on JFrame.
        add(btn1, "North");
  
        // Adding JButton "btn2" on JFrame.
        add(btn2, "South");
  
        // Adding JButton "btn3" on JFrame.
        add(btn3, "East");
  
        // Adding JButton "btn4" on JFrame.
        add(btn4, "West");
  
        // Adding JButton "btn5" on JFrame.
        add(btn5, "Center");
  
        // function to set the title
        setTitle("Learning a Border Layout");
  
        // Function to set size of JFrame.
        setSize(350, 300);
  
        // Function to set visible status of JFrame
        setVisible(true);
    }
  
    // Main Method
    public static void main(String args[])
    {
  
        // calling the constructor
        new BorderDemo();
    }
}

輸出:

注意:上述程序可能無法在在線 IDE 中運行。請使用離線編譯器。

參考: https://docs.oracle.com/javase/7/docs/api/java/awt/BorderLayout.html



相關用法


注:本文由純淨天空篩選整理自Shivi_Aggarwal大神的英文原創作品 Java AWT | BorderLayout Class。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。