資源描述:
《GUI布局管理器》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、第11章GUI布局管理器第11章GUI布局管理器本章主要講述如下內(nèi)容:?Swing常用容器:框架和面板;?布局管理:FlowLayout、BorderLayout、GridLayout和CardLayout。Swing常用容器AWT和Swing都提供了容器。講述Swing中頻繁使用的框架和面板??蚣芸蚣?JFrame)是一種獨立存在的容器。JFrame是Frame的子類,JFrame類對象有邊框。JFrame類的常用構(gòu)造函數(shù)如下:(1)publicJFrame()(2)publicJFrame(Stringtitle)框架(續(xù))注意:框架創(chuàng)建以后是不可見的,必須調(diào)
2、用Window類的show()方法或Component類的setVisible(true)方法顯示該框架。編程方法:先定義一個JFrame類的子類,然后在該類的構(gòu)造函數(shù)中調(diào)用JFrame類的構(gòu)造函數(shù);最后,將需要的組件或面板加入到該框架。例:定義一有用的子類:importjavax.swing.*;publicclasssubJFrameextendsJFrame{publicsubJFrame(){}publicsubJFrame(Stringtitle){super(title);}protectedvoidframeInit(){super.frameIni
3、t();//調(diào)用JFrame類的方法,關(guān)閉框架setDefaultCloseOperation(EXIT_ON_CLOSE);}}框架(續(xù))框架(續(xù))例11-1:一個完整的JFrame示例源程序運行面板Swing采用JPanel定義面板;面板必須包含在另一個容器中;JPanel類的常用構(gòu)造函數(shù):(1)publicJPanel()使用缺省的布局管理器(2)publicJPanel(LayoutManagerlayout)例11-2:定義兩個面板,并設(shè)置不同的前景和背景色。源程序運行布局管理器常用的四種布局管理器:FlowLayoutBorderLayoutCardL
4、ayoutGridLayout布局管理的含義:創(chuàng)建這種類型的一個對象,并采用此對象來安排其它容器和基本組件。各容器默認的布局管理器:FlowLayout默認為Applet、Panel和JPanel的布局;BorderLayout默認為JApplet和JFrame的布局FlowLayout布局FlowLayout布局是將組件按加入的先后順序從左至右排列;在缺省方式下,F(xiàn)lowLayout布局是將組件放在每行的中央;FlowLayout布局的對齊方式有三種:左:FlowLayout.LEFT中:FlowLayout.CENTER右:FlowLayout.RIGHTFl
5、owLayout布局(續(xù))常用構(gòu)造函數(shù)如下:(1)publicFlowLayout()居中對齊,垂直和水平間隔為5。(2)publicFlowLayout(intalign)生成一個指定對齊方式的FlowLayout對象。(3)publicFlowLayout(intalign,inthor,intver)例11-3:每隔1秒調(diào)整組件的對齊方式。源程序運行BorderLayout布局BorderLayout布局是將空間劃分為東、西、南、北、中五個區(qū)域;分別采用五個字符串表示:"EAST"、"WEST"、"SOUTH"、"NORTH"和"CENTER"。Border
6、Layout的構(gòu)造函數(shù)如下:(1)publicBorderLayout()組件的垂直和水平間隔為0。(2)publicBorderLayout(inthgap,intvgap)例11-4:采用BorderLayout布局管理器,每隔1秒動態(tài)地隱藏組件,直到隱藏完全部的組件,然后按相反順序重新顯示組件。源程序運行GridLayout布局GridLayout布局是將容器空間劃分為網(wǎng)格狀,各個組件占據(jù)大小相同的區(qū)域。GridLayout類的構(gòu)造函數(shù):(1)publicGridLayout()生成一個行數(shù)為1的GridLayout布局管理器對象。(2)publicGrid
7、Layout(introws,intcols)(3)publicGridLayout(introws,intcols,inthgap,intvgap)例11-5:采用GridLayout布局管理器,每隔1秒重新設(shè)置組件布局。源程序運行CardLayout布局CardLayout布置管理可以將組件分組,在每一時刻只顯示其中的一組;構(gòu)造函數(shù):(1)publicCardLayout()卡片之間的垂直和水平間隔為0(2)publicCardLayout(inthgap,intvgap)指定卡片之間的垂直和水平間隔。CardLayout布局(續(xù))常用方法:(1)public
8、voidf