久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

二十九、Java圖形化界面設(shè)計(jì)

 戴維圖書館 2019-05-31

         前文講解了JFrame,、JPanel,,其中已經(jīng)涉及到了空布局的使用。Java雖然可以以像素為單位對組件進(jìn)行精確的定位,,但是其在不同的系統(tǒng)中將會(huì)有一定的顯示差異,,使得顯示效果不盡相同,為此java提供了布局管理器,,以使編寫的圖形界面具有良好的平臺(tái)無關(guān)性,。

 

         注意:所有的布局管理器均是針對容器來使用的,包括頂層容器和中間容器,。

 

一,、布局管理器所屬類包

所屬類包

布局管理器名稱

說明

Java.awt

FlowLayout(流式布局)

組件按照加入的先后順序按照設(shè)置的對齊方式從左向右排列,一行排滿到下一行開始繼續(xù)排列

BorderLayout(邊界布局)

容器劃分為東,、西,、南、北,、中五個(gè)區(qū)域,,每個(gè)區(qū)域只能放置一個(gè)組件。

GridLayout(網(wǎng)格布局)

容器的空間劃分成M×N列的網(wǎng)格區(qū)域, 每個(gè)區(qū)域只能放置一個(gè)組件,。

CardLayout(卡片布局)

如同一疊牌,,每個(gè)牌對應(yīng)一個(gè)組件,但每次只能顯示其中的一張牌,。適用于在一個(gè)空間中防止多個(gè)組件的情況

GridBagLayout(網(wǎng)格包布局)

GridLayout的升級(jí)版,,組件仍然是按照行、列放置,,但是每個(gè)組件可以占據(jù)多個(gè)網(wǎng)格

Java.swing

BoxLayout(箱式布局)

允許在容器中縱向或者橫向防止多個(gè)控件

SprigLayout(彈簧布局)

根據(jù)一組約束條件放置控件

空布局

不使用布局管理器,,按照控件自身提供的大小、位置信息放置控件

 

 

二,、容器的默認(rèn)布局管理器

各容器都有默認(rèn)的布局管理,,見下表:

容器

默認(rèn)布局方式

頂層容器

JFrame

BorderLayout(邊界布局)

JDialog

BorderLayout(邊界布局)

JApplet

FlowLayout(流式布局)

中間容器

JPanel

FlowLayout(流式布局)

 

三、FlowLayout(流式布局)

使用FlowLayout布局方式的容器中組件按照加入的先后順序按照設(shè)置的對齊方式(居中,、左對齊,、右對齊)從左向右排列,一行排滿(即組件超過容器寬度后)到下一行開始繼續(xù)排列,。

1,、流式布局特征如下:

l  組件按照設(shè)置的對齊方式進(jìn)行排列

l  不管對齊方式如何,,組件均按照從左到右的方式進(jìn)行排列,一行排滿,,轉(zhuǎn)到下一行,。(比如按照右對齊排列,第一個(gè)組件在第一行最右邊,,添加第二個(gè)組件時(shí),,第一個(gè)組件向左平移,第二個(gè)組件變成該行最右邊的組件,,這就是從左向右方式進(jìn)行排列)

 

2,、流式布局FlowLayout類的常用構(gòu)造函數(shù)和方法

構(gòu)造函數(shù)

名稱

用途

FlowLayout()    

構(gòu)造一個(gè)新的 FlowLayout,它是默認(rèn)居中對齊的,,默認(rèn)的水平和垂直間隙是5個(gè)像素

FlowLayout(int align)

構(gòu)造一個(gè)新的 FlowLayout,,它具有指定的對齊方式,默認(rèn)的水平和垂直間隙是 5 個(gè)像素

五個(gè)參數(shù)值及含義如下:

0或FlowLayout.lEFT ,,控件左對齊

1或FlowLayout.CENTER ,,居中對齊

2或FlowLayout.RIGHT ,右對齊

3或FlowLayout.LEADING,,控件與容器方向開始邊對應(yīng)

4或FlowLayout.TRAILING,,控件與容器方向結(jié)束邊對應(yīng)

如果是0、1,、2,、3、4之外的整數(shù),,則為左對齊

FlowLayout(int align, int hgap, int vgap)     

創(chuàng)建一個(gè)新的流布局管理器,,它具有指定的對齊方式以及指定的水平和垂直間隙。

方法

名稱

用途

Void setAlignment(int align)

設(shè)置此布局的對齊方式,。

void setHgap(int hgap)

設(shè)置組件之間以及組件與 Container 的邊之間的水平間隙,。

void setVgap(int vgap)

設(shè)置組件之間以及組件與 Container 的邊之間的垂直間隙。

 

3,、FlowLayout 布局應(yīng)用代碼段舉例

1)        設(shè)置FlowLayout 布局

JFrame  fr=new JFrame( );

FlowLayout  flow=new FlowLayout( );

fr.setLayout(flow);

上面的語句可以簡化成:
fr.setLayout(new FlowLayout());

2)        設(shè)置框架fr為組件左對齊的FlowLayout布局 

fr.setLayout(newFlowLayout(FlowLayout.LEFT));

3)        設(shè)置框架fr為組件左對齊的FlowLayout布局,,并且組件的水平間距為20像素,垂直間距為40像素,。

fr.setLayout(new  FlowLayout(FlowLayout.LEFT,20,40));

 

 

實(shí)例:對齊方式

// FlowLayoutDemo.java

importjavax.swing.*;

importjava.awt.*;

public classFlowLayoutDemo extends JFrame {

  public FlowLayoutDemo() {

         //設(shè)置窗體為流式布局,,無參數(shù)默認(rèn)為居中對齊

    setLayout(new FlowLayout());

         //設(shè)置窗體中顯示的字體樣式

    setFont(new Font("Helvetica",Font.PLAIN, 14));

         //將按鈕添加到窗體中

    getContentPane().add(newJButton("Button 1"));

    getContentPane().add(new JButton("Button 2"));

    getContentPane().add(new JButton("Button3"));

    getContentPane().add(newJButton("Button 4"));

  } 

  public static void main(String args[]) {

    FlowLayoutDemo window = newFlowLayoutDemo();

    window.setTitle("流式布局");

          //該代碼依據(jù)放置的組件設(shè)定窗口的大小使之正好能容納你放置的所有組件

    window.pack();

    window.setVisible(true);

         window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

         window.setLocationRelativeTo(null);                //讓窗體居中顯示

  }

}

 

         程序執(zhí)行結(jié)果如下圖所示,生成了一個(gè)居中顯示的窗體,,上面有四個(gè)按鈕,,留意按鈕之間,,按鈕與窗體的上下左右邊緣都是默認(rèn)5個(gè)像素的間距,。改變窗體大小,,如下圖所示,分別是原始界面,、拉寬原始界面,、拉窄原始界面,組件和界面的間距,。

 

        

 

修改程序代碼體會(huì)界面布局效果:

setLayout(newFlowLayout());

將上面源程序中的代碼更改如下,,然后做出如下更改:

setLayout(newFlowLayout(0));  //組件左對齊

setLayout(newFlowLayout(FlowLayout.RIGHT,10,15));  //組件右對齊,組件間水平間距為10像素,垂直間距為15像素

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請遵守用戶 評(píng)論公約

    類似文章 更多