小博老師解析Java核心技術(shù) ——JSwing窗體布局

[引言]

我們在學(xué)習(xí)Java編程的時(shí)候,如果需要開發(fā)客戶端窗體類型的程序赵哲,可以使用JDK中的awt和swing庫总处。本文開始小博老師就繼續(xù)為大家演示如何實(shí)現(xiàn)Java窗體布局,達(dá)到美化界面的效果狭归。

[步驟閱讀一]流水布局FlowLayout

流水布局是Java窗體布局中最基礎(chǔ)的布局方式夭坪,其布局原則是將所有窗體中控件水平擺放,如果一行寬度不夠則會(huì)自動(dòng)換行过椎,并且同一行中的控件水平居中室梅。我們來看一個(gè)簡單的案例,核心代碼如下:

publicclassLayoutFrameextendsJFrame{

publicLayoutFrame(){

super("博為峰教育");

setBounds(200, 100, 300,

300);

//

設(shè)置窗體布局器(流水布局器)

setLayout(newFlowLayout());

//

循環(huán)生成10個(gè)按鈕控件(非固定指令疚宇,僅作布局演示)

for(inti= 1 ;i<= 10 ;i++ ){

//

實(shí)例化 按鈕控件

JButtonbt=newJButton("按

鈕");

//

將按鈕控件添加到窗體中

add(bt);

}

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

實(shí)例化窗體對象亡鼠,并且運(yùn)行后效果:

[步驟閱讀二]邊界布局BorderLayout

邊界布局是Java窗體中比較特殊的一種布局,以“東南西北中”的形式對窗體控件進(jìn)行布局敷待,在某些特殊的App如桌面類游戲中運(yùn)用尤其多间涵,小博老師就不一一列舉了,相信小伙伴們都懂的榜揖。我們來做一個(gè)簡單的案例勾哩,核心代碼如下:

publicclassLayoutFrameextendsJFrame{

publicLayoutFrame(){

super("博為峰教育");

setBounds(200, 100, 300,

300);

//

設(shè)置窗體布局器(邊界布局器)

setLayout(newBorderLayout());

//

生成5個(gè)按鈕控件,分別占據(jù)“東南西北中”五大方位(非固定指令举哟,僅作布局演示)

JButtonbtEast=newJButton("東");

JButtonbtSouth=newJButton("南");

JButtonbtWest=newJButton("西");

JButtonbtNorth=newJButton("北");

JButtonbtCenter=newJButton("中");

//

將5個(gè)按鈕控件分別添加到窗體中

add(btEast,BorderLayout.EAST);

add(btSouth,BorderLayout.SOUTH);

add(btWest,BorderLayout.WEST);

add(btNorth,BorderLayout.NORTH);

add(btCenter,BorderLayout.CENTER);

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

實(shí)例化窗體對象思劳,并且運(yùn)行后效果:

[步驟閱讀三]網(wǎng)格布局GridLayout

網(wǎng)格布局類似于表格布局,在很多界面布局技術(shù)中都有妨猩,以行和列的形式對窗體中的控件進(jìn)行布局潜叛。我們來看一個(gè)簡單的案例,核心代碼如下:

publicclassLayoutFrameextendsJFrame{

publicLayoutFrame(){

super("博為峰教育");

setBounds(200, 100, 300,

300);

//

設(shè)置窗體布局器(網(wǎng)格布局器(行數(shù),列數(shù)))

setLayout(newGridLayout(6, 4));

//

循環(huán)多個(gè)按鈕控件(非固定代碼钠导,僅作布局演示使用)

for(inti= 1;i<= 24 ;i++ ){

//

實(shí)例化 按鈕控件對象

JButtonbt=newJButton("按

鈕");

add(bt);

}

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

實(shí)例化窗體對象震嫉,并且運(yùn)行后效果:

[步驟閱讀四]定位布局

定位布局是Java窗體界面布局中,使用頻度最高的一種布局方式牡属,也是最自由的一種布局方式票堵,但是缺點(diǎn)在于使用起來比較繁瑣(需要自己設(shè)定坐標(biāo)位置和寬度高度),而且當(dāng)窗體受到用戶手勢操作時(shí)(比如窗口最大化逮栅,最小化)時(shí)悴势,界面布局需要我們自行修改且重繪界面。我們先來看一個(gè)簡單案例措伐,核心代碼如下:

publicclassLayoutFrameextendsJFrame{

publicLayoutFrame(){

super("博為峰教育");

setBounds(200, 100, 300,

300);

//

設(shè)置窗體布局器(布局器參數(shù)傳入空對象即表示使用定位布局器)

setLayout(null);

//

實(shí)例化 按鈕控件對象(非固定代碼特纤,僅作界面布局演示)

JButtonbt=newJButton("按

鈕");

//

使用定位布局的話,每個(gè)控件需要自行設(shè)置位置和寬高

bt.setBounds(50, 20, 80, 25);

//

將按鈕控件添加到窗體中

add(bt);

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

實(shí)例化窗體對象侥加,并且運(yùn)行后效果:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末捧存,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子担败,更是在濱河造成了極大的恐慌昔穴,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,430評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件提前,死亡現(xiàn)場離奇詭異吗货,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)狈网,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評論 3 398
  • 文/潘曉璐 我一進(jìn)店門宙搬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人拓哺,你說我怎么就攤上這事勇垛。” “怎么了士鸥?”我有些...
    開封第一講書人閱讀 167,834評論 0 360
  • 文/不壞的土叔 我叫張陵闲孤,是天一觀的道長。 經(jīng)常有香客問我础淤,道長崭放,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,543評論 1 296
  • 正文 為了忘掉前任鸽凶,我火速辦了婚禮币砂,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘玻侥。我一直安慰自己决摧,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,547評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著掌桩,像睡著了一般边锁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上波岛,一...
    開封第一講書人閱讀 52,196評論 1 308
  • 那天茅坛,我揣著相機(jī)與錄音,去河邊找鬼则拷。 笑死贡蓖,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的煌茬。 我是一名探鬼主播斥铺,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼坛善!你這毒婦竟也來了晾蜘?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,671評論 0 276
  • 序言:老撾萬榮一對情侶失蹤眠屎,失蹤者是張志新(化名)和其女友劉穎剔交,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體组力,經(jīng)...
    沈念sama閱讀 46,221評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡省容,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,303評論 3 340
  • 正文 我和宋清朗相戀三年抖拴,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了燎字。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,444評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡阿宅,死狀恐怖候衍,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情洒放,我是刑警寧澤蛉鹿,帶...
    沈念sama閱讀 36,134評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站往湿,受9級特大地震影響妖异,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜领追,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,810評論 3 333
  • 文/蒙蒙 一他膳、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧绒窑,春花似錦棕孙、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,285評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽钦铺。三九已至,卻和暖如春肢预,著一層夾襖步出監(jiān)牢的瞬間矛洞,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,399評論 1 272
  • 我被黑心中介騙來泰國打工烫映, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留缚甩,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,837評論 3 376
  • 正文 我出身青樓窑邦,卻偏偏與公主長得像擅威,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子冈钦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,455評論 2 359

推薦閱讀更多精彩內(nèi)容