摘要:代碼演示設(shè)置容器為邊界布局管理器循環(huán)添加按鈕,并設(shè)置按鈕布局網(wǎng)格布局類(lèi)是一個(gè)布局處理器,它以矩形網(wǎng)格形式對(duì)容器的組件進(jìn)行布置。構(gòu)造方法摘要?jiǎng)?chuàng)建具有默認(rèn)值的網(wǎng)格布局,即每個(gè)組件占據(jù)一行一列。創(chuàng)建具有指定行數(shù)和列數(shù)的網(wǎng)格布局。
流布局:
FlowLayout構(gòu)造方法:
FlowLayout()
構(gòu)造一個(gè)新的 FlowLayout,它是居中對(duì)齊的,默認(rèn)的水平和垂直間隙是 5 個(gè)單位。
FlowLayout(int align)
構(gòu)造一個(gè)新的 FlowLayout,它具有指定的對(duì)齊方式,默認(rèn)的水平和垂直間隙是 5 個(gè)單位。
FlowLayout(int align, int hgap, int vgap)
創(chuàng)建一個(gè)新的流布局管理器,它具有指定的對(duì)齊方式以及指定的水平和垂直間隙。
注意:
align=0:表示每一行組件將按照左對(duì)齊排列 align=1:表示每一行組件將按照居中對(duì)齊排列 align=2:表示每一行組件將按照右對(duì)齊排列
代碼:
package jframe; import java.awt.Button; import java.awt.Container; import java.awt.FlowLayout; import javax.swing.*; public class jframe extends JFrame{ /** * */ private static final long serialVersionUID = 1L; public jframe(){ new JFrame("title"); Container con = getContentPane(); setLayout(new FlowLayout(0,10,10)); //按照左對(duì)齊排列垂直水平間隔為10 for (int i=0;i<10;i++){ add(new JButton("Button"+i)); //添加組件 } this.setVisible(true); //設(shè)置窗體可見(jiàn) this.setSize(300, 300); //設(shè)置窗體大小 } public static void main(String[] args) { jframe a = new jframe(); } }
如果改變窗體的大小其中組件的位置也會(huì)跟著改變
邊界布局:
這是一個(gè)布置容器的邊框布局,它可以對(duì)容器組件進(jìn)行安排,并調(diào)整其大小,使其符合下列五個(gè)區(qū)域:北、南、東、西、中。每個(gè)區(qū)域最多只能包含一個(gè)組件,并通過(guò)相應(yīng)的常量進(jìn)行標(biāo)識(shí):NORTH、SOUTH、EAST、WEST、CENTER。當(dāng)使用邊框布局將一個(gè)組件添加到容器中時(shí),要使用這五個(gè)常量之一。
代碼演示:
package jframe; import java.awt.BorderLayout; import java.awt.Button; import java.awt.Container; import java.awt.FlowLayout; import javax.swing.*; public class jframe extends JFrame{ /** * */ private static final long serialVersionUID = 1L; String border [] = {BorderLayout.NORTH,BorderLayout.SOUTH,BorderLayout.WEST, BorderLayout.EAST,BorderLayout.CENTER}; String borderName [] = {"North","South","West","East","Center"}; public jframe(){ this.setTitle("test"); Container con = this.getContentPane(); this.setLayout(new BorderLayout()); //設(shè)置容器為邊界布局管理器 for (int i=0;i<5;i++){ con.add(border[i],new JButton(borderName[i])); ///循環(huán)添加按鈕,并設(shè)置按鈕布局 } this.setVisible(true); this.setBounds(50, 50, 500, 300); } public static void main(String[] args) { new jframe(); } }
網(wǎng)格布局
GridLayout 類(lèi)是一個(gè)布局處理器,它以矩形網(wǎng)格形式對(duì)容器的組件進(jìn)行布置。容器被分成大小相等的矩形,一個(gè)矩形中放置一個(gè)組件。
構(gòu)造方法摘要
GridLayout()
創(chuàng)建具有默認(rèn)值的網(wǎng)格布局,即每個(gè)組件占據(jù)一行一列。
GridLayout(int rows, int cols)
創(chuàng)建具有指定行數(shù)和列數(shù)的網(wǎng)格布局。
GridLayout(int rows, int cols, int hgap, int vgap)
創(chuàng)建具有指定行數(shù)和列數(shù)的網(wǎng)格布局(hgap指定網(wǎng)格之間的水平間距,vgap指定網(wǎng)格之間垂直間距)。
代碼演示:
package jframe; import java.awt.BorderLayout; import java.awt.Button; import java.awt.Container; import java.awt.FlowLayout; import java.awt.GridLayout; import javax.swing.*; public class jframe extends JFrame{ /** * */ private static final long serialVersionUID = 1L; public jframe(){ this.setTitle("test"); Container con = this.getContentPane(); this.setLayout(new GridLayout(7,3,5,5)); //設(shè)置7行3列垂直水平間隔為5 for (int i=0;i<20;i++){ con.add(new JButton("Button"+i)); //20個(gè)按鈕 } this.setVisible(true); this.setBounds(50, 50, 300, 500); } public static void main(String[] args) { new jframe(); } }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/69989.html
摘要:布局管理器也是通過(guò)構(gòu)造器來(lái)創(chuàng)建的。流布局管理器的對(duì)齊方式如下所示。方法和方法分別獲取和設(shè)置流布局管理器中控件和控件之間的水平間距。 流布局(FlowLayout)默認(rèn)的JApplet,JPanel,JScrollPane 流布局是相對(duì)比較簡(jiǎn)單的一種布局管理器,也是最常用的布局管理器。在流布局中放置控件時(shí),將按照控件的添加順序,依次將控件從左到右進(jìn)行擺放,并且在一行的最后會(huì)進(jìn)行自動(dòng)換...
摘要:包括了圖形用戶界面器件如文本框,按鈕,分隔窗格和表。按照指定布局限制添加組件。移除指定位置的組件。通常文本框用于接收用戶信息或其他文本信息的輸入。因此,組件也稱(chēng)為密碼文本框。創(chuàng)建一個(gè)具有出事文本信息以及制定列數(shù)的文本框。 Swing 是一個(gè)為Java設(shè)計(jì)的GUI工具包。 Swing是JAVA基礎(chǔ)類(lèi)的一部分。 Swing包括了圖形用戶界面(GUI)器件如:文本框,按鈕,分隔窗格和表。 S...
摘要:中的絕對(duì)布局取消布局管理器實(shí)例化一個(gè)按鈕實(shí)例化一個(gè)按鈕設(shè)置位置與大小設(shè)置位置與大小顯示窗體 Swing中的絕對(duì)布局 package jframe;import java.awt.Button;import java.awt.Container;import javax.swing.*; public class jframe extends JFrame{ /** * */ pr...
摘要:正文屬性樣式表正文屬性樣式表了解了具體的各種工作原理使用方式選擇器規(guī)則層疊算法等之后,那么該來(lái)學(xué)習(xí)的也就是都支持哪些屬性樣式表了。 本篇文章已授權(quán)微信公眾號(hào) dasu_Android(大蘇)獨(dú)家發(fā)布 聲明 本系列文章內(nèi)容全部梳理自以下四個(gè)來(lái)源: 《HTML5權(quán)威指南》 《JavaScript權(quán)威指南》 MDN web docs Github:smyhvae/web 作為一個(gè)前端小白,入...
摘要:樣式聲明通過(guò)一個(gè)稱(chēng)為級(jí)聯(lián)的過(guò)程來(lái)解釋和決定。級(jí)聯(lián)級(jí)聯(lián)可能是中最容易被弄錯(cuò)的屬性之一。因此很容易認(rèn)為元素的視覺(jué)邊界等于其寬度,但情況并非如此。 如果你在日常工作中使用CSS,那么你的主要目標(biāo)很可能集中在使事情看起來(lái)是正確的。最終得到的正確結(jié)果遠(yuǎn)比如何實(shí)現(xiàn)更重要。這意味著相比正確的語(yǔ)法和視覺(jué)效果我們更少關(guān)注CSS的實(shí)現(xiàn)原理。 你可能還沒(méi)有意識(shí)到,但CSS的視覺(jué)效果通常是操縱隱藏屬性的間接結(jié)...
閱讀 1996·2021-09-09 09:33
閱讀 1118·2019-08-30 15:43
閱讀 2671·2019-08-30 13:45
閱讀 3312·2019-08-29 11:00
閱讀 863·2019-08-26 14:01
閱讀 3576·2019-08-26 13:24
閱讀 487·2019-08-26 11:56
閱讀 2696·2019-08-26 10:27