您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“Java Swing的布局方式是什么”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Java Swing的布局方式是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
BorderLayout(邊框布局管理器),是Window、JFrame和JDialog的默認布局管理器。它主要將窗口分為了五個部位,分別是東(East)、西(West)、南(South)、北(North)和中(Center),分別對應了窗口的右、左、下、上、中。
BorderLayout的常用構造方法:
BorderLayout() 創建一個沒有間隙的 Border 布局
BorderLayout(int hgap, int vgap) 創建一個有間隙的 Border 布局,其中 hgap 表示橫向間隙、 vgap 表示縱向間隙。
具體實例代碼:
import javax.swing.*;
import java.awt.*;
public class Border {
public static void main(String[] args) {
JFrame jf = new JFrame();
jf.setBounds(100,100, 800,600);
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
jf.setLayout(new BorderLayout()); // 設置為沒有間隙的 Border 布局
JButton btn1 = new JButton("上");
JButton btn2 = new JButton("左");
JButton btn3 = new JButton("中");
JButton btn4 = new JButton("右");
JButton btn5 = new JButton("下");
jf.add(btn1, BorderLayout.NORTH);
jf.add(btn2, BorderLayout.WEST);
jf.add(btn3, BorderLayout.CENTER);
jf.add(btn4, BorderLayout.EAST);
jf.add(btn5, BorderLayout.SOUTH);
jf.setVisible(true);
}
}
根據以上運行結果可以看見,在對應的位置會自動填充相應的內容。那么如果對應的位置沒有的內容,那么會發生什么呢?我們可以先嘗試把其中一個注釋掉
可見,命名為“上”的按鈕已經消失掉了,取而代之的是左中右自動填充了缺失的部分。嘗試了分別將其他幾個注釋掉,也是一樣的結果,可以得出CENTER區域會自動拉伸填充缺失的部分。
FlowLayout(流式布局管理器),是JPanel和JApplet的默認布局管理器。FlowLayout 會按照從上往下,從左到右的順序規律逐個定位組件。跟別的布局管理器不一樣的是,FlowLayout不會限制它里面所有組件的大小,而是允許這些組件有自己的大小。
常用構造方法如下:
FlowLayout() 默認是創建一個居中對齊,水平垂直皆為5像素的布局管理器。
FlowLayout(int align) 創建一個水平垂直為5像素,自定義是左對齊、右對齊或是居中的布局管理器。
FlowLayout(int align, int hgap, int vgap) 自定義對齊方式,以及水平垂直方向像素的布局管理器。
具體代碼:
import javax.swing.*;
import java.awt.*;
public class Flow {
public static void main(String[] args) {
JFrame jf = new JFrame("FLOWLAYOUT");
jf.setBounds(100,100,800,600);
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
JPanel jp = new JPanel();
JButton btn1 = new JButton("1");
JButton btn2 = new JButton("2");
JButton btn3 = new JButton("3");
JButton btn4 = new JButton("4");
JButton btn5 = new JButton("5");
JButton btn6 = new JButton("6");
JButton btn7 = new JButton("7");
JButton btn8 = new JButton("8");
JButton btn9 = new JButton("9");
jp.add(btn1);
jp.add(btn2);
jp.add(btn3);
jp.add(btn4);
jp.add(btn5);
jp.add(btn6);
jp.add(btn7);
jp.add(btn8);
jp.add(btn9);
// 想面板添加一個流式布局管理器你,設置橫間距像素為180,縱間距為50
jp.setLayout(new FlowLayout(FlowLayout.LEADING, 180, 50));
// 設置背景色
jp.setBackground(Color.GRAY);
jf.add(jp);
jf.setVisible(true);
}
}
讀到這里,這篇“Java Swing的布局方式是什么”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。