邊界布局管理器把容器的的布局分為五個位置:CENTER、EAST、WEST、NORTH、SOUTH。依次對應為:上北(NORTH)、下南(SOUTH)、左西(WEST)、右東(EAST),中(CENTER),如下圖所示。
l 可以把組件放在這五個位置的任意一個,如果未指定位置,則缺省的位置是CENTER。
l 南、北位置控件各占據一行,控件寬度將自動布滿整行。東、西和中間位置占據一行;若東、西、南、北位置無控件,則中間控件將自動布滿整個屏幕。若東、西、南、北位置中無論哪個位置沒有控件,則中間位置控件將自動占據沒有控件的位置。
l 它是窗口、框架的內容窗格和對話框等的缺省布局。
構造方法摘要 | |
BorderLayout(): 構造一個組件之間沒有間距(默認間距為0像素)的新邊框布局。 | |
BorderLayout(int hgap, int vgap) : 構造一個具有指定組件(hgap為橫向間距,vgap為縱向間距)間距的邊框布局。 | |
方法摘要 | |
int | getHgap() : 返回組件之間的水平間距。 |
int | getVgap() : 返回組件之間的垂直間距。 |
void | removeLayoutComponent(Component comp): 從此邊框布局中移除指定組件。 |
void | setHgap(int hgap): 設置組件之間的水平間距。 |
void | setVgap(int vgap) : 設置組件之間的垂直間距。 |
實例:
//BorderLayoutDemo.javaimportjavax.swing.*;importjava.awt.*;publicclassBorderLayoutDemoextendsJFrame{publicBorderLayoutDemo(){//構造函數,初始化對象值//設置為邊界布局,組件間橫向、縱向間距均為5像素setLayout(newBorderLayout(5,5));setFont(newFont("Helvetica",Font.PLAIN,14));getContentPane().add("North",newJButton("North"));//將按鈕添加到窗口中getContentPane().add("South",newJButton("South"));getContentPane().add("East",newJButton("East"));getContentPane().add("West",newJButton("West"));getContentPane().add("Center",newJButton("Center"));}publicstaticvoidmain(Stringargs[]){BorderLayoutDemof=newBorderLayoutDemo();f.setTitle("邊界布局");f.pack();f.setVisible(true);f.setDefaultCloseoperation(JFrame.EXIT_ON_CLOSE);f.setLocationRelativeTo(null);//讓窗體居中顯示}}
程序執行結果如下所示:
依次注釋掉東、西、南、北和中間位置添加按鈕的語句,保留其它的的語句體會一下邊框布局的特點。
如果想要更復雜的布局可以在東、西、南、北和中間位置添加中間容器,中間容器中再進行布局,并添加相應的組件,已達到復制補間的效果。
實例二:在中間位置中添加9個按鈕。
//BorderLayoutDemo1.javaimportjavax.swing.*;importjava.awt.*;publicclassBorderLayoutDemo1extendsJFrame{JPanelp=newJPanel();publicBorderLayoutDemo(){setLayout(newBorderLayout(5,5));setFont(newFont("Helvetica",Font.PLAIN,14));getContentPane().add("North",newJButton("North"));getContentPane().add("South",newJButton("South"));getContentPane().add("East",newJButton("East"));getContentPane().add("West",newJButton("West"));//設置面板為流式布局居中顯示,組件橫、縱間距為5個像素p.setLayout(newFlowLayout(1,5,5));//使用循環添加按鈕,注意每次添加的按鈕對象名稱都是b//但按鈕每次均是用new新生成的,所有代表不同的按鈕對象。for(inti=1;i<10;i++){//String.valueOf(i),將數字轉換為字符串JButtonb=newJButton(String.valueOf(i));p.add(b);//將按鈕添加到面板中}getContentPane().add("Center",p);//將面板添加到中間位置}publicstaticvoidmain(Stringargs[]){BorderLayoutDemo1f=newBorderLayoutDemo1();f.setTitle("邊界布局");f.pack();//讓窗體自適應組建大小f.setVisible(true);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);f.setLocationRelativeTo(null);//讓窗體居中顯示}}
程序執行效果:
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Java中BorderLayout怎么用”這篇文章對大家有幫助,同時也希望大家多多支持本站,關注本站行業資訊頻道,更多相關知識等著你來學習!
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
(相關資料圖)今天來聊聊關于為啥電腦有些網站打不開,電腦上面有些網站打的開有些網站打不開是什么原因怎么解決_的文章,現在就為大家來簡單介紹下為啥電腦有些網站打不開,電腦上面有些網站打的開有些網站打不開是什么原因怎么解決_,希望對各位小伙伴們有所幫助。1、與IE沖突,下載谷歌等瀏覽器測試一下,如果好用,上淘寶、OO空間,或瀏覽其它網頁時就用這個軟件,這些都是不用IE做內核的,與你用IE不沖突。2、開...
2019獨生子女補貼最新政策是什么?一、獨生子女獎勵金只要是農村獨生子女家庭,就可以按月領取到這項補貼,地方不同、補助標準會有不同,夫妻雙方每人每月都有。領取的條件很簡單,只要持有獨生子女證書即可,因此還沒有辦理這個證書的農民抓緊了。二、獨生子女養老補貼農村里的獨生子女壓力比城鎮里的大,因為農村的父母沒有可觀的退休金,年紀大了后又失去了勞動能力。為了減輕這一養老負擔,國家規定獨生子女家庭的父母年滿...
炒黃金賺錢嗎?答案是肯定的。知道了黃金長期以來被人們作為投資工具,知道了黃金直到現在在位置,仍然有很大的投資價值我們不需要懷疑在黃金投機的賺錢能力當然我們要確定我們是在正規的黃金交易平臺上交易,剩下的只要操作得當就可以了。即使普通人也可以在黃金,炒股賺錢,但具體盈利情況取決于不同人的實際操作。炒黃金賺錢的幾率有多大?黃金市場如戰場,資金如士兵,而投資者就是這場交易中的指揮官,指揮官指導這場沒有硝煙...