窗體、對話框默認邊界佈局管理器

JFrame、JDialog默認佈局管理器

  • 窗體(對話框)的默認佈局管理器爲邊界佈局管理器
  • 向其中添加組件時,如沒有指定位置,則會佔滿整個窗體(對話框)
  • 也可以設置佈局:setLayout(null):這種情況下,需要手動設置各個組件的位置

Demo01–手動設置組件位置

import javax.swing.*;
import java.awt.*;

public class DemoLayout {
    public static void main(String[] args) {
        JFrame jFrame = new JFrame("默認佈局窗體");
        jFrame.setLayout(null);
        JButton jButton1 = new JButton("button1");
        JButton jButton2 = new JButton("button2");
        jButton1.setBounds(10,10,100,20);
        jButton2.setBounds(10,40,100,20);
        jFrame.add(jButton1);
        jFrame.add(jButton2);
        //設置窗體背景色
        jFrame.setBackground(Color.CYAN);
        //設置窗體大小
        jFrame.setSize(400,400);
        //設置窗體可見
        jFrame.setVisible(true);
        //設置窗體關閉方式
        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
}

Demo01運行結果如下
在這裏插入圖片描述
Demo02–使用默認佈局

import javax.swing.*;
import java.awt.*;

public class DemoLayout {
    public static void main(String[] args) {
        JFrame jFrame = new JFrame("默認佈局窗體");
        JButton jButton1 = new JButton("button1");
        jFrame.add(jButton1);
        //設置窗體背景色
        jFrame.setBackground(Color.CYAN);
        //設置窗體大小
        jFrame.setSize(400,400);
        //設置窗體可見
        jFrame.setVisible(true);
        //設置窗體關閉方式
        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
}

Demo02運行結果如下
在這裏插入圖片描述
Demo03–使用BorderLayout設置組件位置

import javax.swing.*;
import java.awt.*;

public class DemoLayout {
    public static void main(String[] args) {
        JFrame jFrame = new JFrame("默認佈局窗體");
//        jFrame.setLayout(null);
        JButton jButton1 = new JButton("button1");
        JButton jButton2 = new JButton("button2");
        //設置組件的位置
        jFrame.add(jButton1,BorderLayout.NORTH);
        jFrame.add(jButton2,BorderLayout.CENTER);
        jFrame.add(BorderLayout.SOUTH,new JButton("button3"));
        //設置窗體背景色
        jFrame.setBackground(Color.CYAN);
        //設置窗體大小
        jFrame.setSize(400,400);
        //設置窗體可見
        jFrame.setVisible(true);
        //設置窗體關閉方式
        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
}

Demo03運行結果如下

  • 左邊和右邊區域默認被其它組件填充

在這裏插入圖片描述
注意

  • 使用JFrame對象直接調用add()方法添加組件和使用getContentPane()獲取一個Container對象來添加組件結果是一樣的,Java1.5以後,兩種操作方式都是調用同一個add方法
  • add方法如下所示
  public void add(Component comp, Object constraints) {
        addImpl(comp, constraints, -1);
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章