<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 71  文章 - 15  trackbacks - 0
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    因為口渴,上帝創造了水;
    因為黑暗,上帝創造了火;
    因為我需要朋友,所以上帝讓你來到我身邊
    Click for Shaanxi xi'an, Shaanxi Forecast
    ╱◥█◣
      |田|田|
    ╬╬╬╬╬╬╬╬╬╬╬
    If only I have such a house!
    〖總在爬山 所以艱辛〗
    Email:myesjoy@yahoo.com.cn
    NickName:yesjoy
    MSN:myesjoy@hotmail.com
    QQ:150230516

    〖總在尋夢 所以苦痛〗

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    Hibernate在線

    Java友情

    Java認證

    linux經典

    OA系統

    • ¤易能協同辦公系統¤
    • 流程管理、知識管理、客戶關系管理、輔助辦公
    • ¤黃城網絡辦公系統3.0¤
    • B/S結構,適用于Intranet/Internet應用,實現無地域限制的全球辦公,具有郵件管理、業務管理、網絡硬盤、智能工作流等功能。

    Spring在線

    Structs在線

    專家專欄

    企業信息化

    大型設備共享系統

    工作流

    工作流產品

    網上購書

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    1.4 LayoutManager 布局管理器(1)

      java為了實現跨平臺的特性并且獲得動態的布局效果,java將容器內的所有組件安排給一個"布局管理器"負責管理,如:排列順序,組件的大小、位置,當窗口移動或調整大小后組件如何變化等功能授權給對應的容器布局管理器來管理,不同的布局管理器使用不同算法和策略,容器可以通過選擇不同的布局管理器來決定布局。

      布局管理器主要包括:FlowLayout,BorderLayout,GridLayout,CardLayout,GridBagLayout
    例3

     1 import java.awt.*;
     2 public class ExGui{
     3  private Frame f;
     4  private Button b1;
     5  private Button b2;
     6  public static void main(String args[]){
     7   ExGui that = new ExGui();
     8   that.go();
     9  }
    10  public void go(){
    11   f = new Frame("GUI example");
    12   f.setLayout(new FlowLayout());//設置布局管理器為FlowLayout
    13   b1 = new Button("Press Me");//按鈕上顯示字符"Press Me"
    14   b2 = new Button("Don't Press Me");
    15   f.add(b1);
    16   f.add(b2);
    17   f.pack();//緊湊排列,其作用相當于setSize(),即讓窗口盡量小,小到剛剛能夠包容住b1、b2兩個按鈕
    18   f.setVisible(true);
    19  }
    20 }
    21 

    運行結果如下:

     1. FlowLayout
      FlowLayout 是Panel,Applet的缺省布局管理器。其組件的放置規律是從上到下、從左到右進行放置,如果容器足夠寬,第一個組件先添加到容器中第一行的最左邊,后續的組件依次添加到上一個組件的右邊,如果當前行已放置不下該組件,則放置到下一行的最左邊。
      構造方法主要下面幾種:
      FlowLayout(FlowLayout.RIGHT,20,40);
      /*第一個參數表示組件的對齊方式,指組件在這一行中的位置是居中對齊、居右對齊還是居左對齊,第二個參數是組件之間的橫向間隔,第三個參數是組件之間的縱向間隔,單位是象素。*/
      FlowLayout(FlowLayout.LEFT);
      //居左對齊,橫向間隔和縱向間隔都是缺省值5個象素

      FlowLayout();
      //缺省的對齊方式居中對齊,橫向間隔和縱向間隔都是缺省值5個象素
    例4

     1 import java.awt.*;
     2 public class myButtons{ 
     3  public static void main(String args[])
     4  {
     5   Frame f = new Frame(); 
     6   f.setLayout(new FlowLayout());
     7   Button button1 = new Button("Ok");
     8   Button button2 = new Button("Open");
     9   Button button3 = new Button("Close");
    10   f.add(button1);
    11   f.add(button2);
    12   f.add(button3);
    13   f.setSize(300,100); 
    14   f.setVisible(true);
    15  }
    16 }

    運行結果如下:

    當容器的大小發生變化時,用FlowLayout管理的組件會發生變化,其變化規律是:組件的大小不變,但是相對位置會發生變化。例如上圖中有三個按鈕都處于同一行,但是如果把該窗口變窄,窄到剛好能夠放下一個按鈕,則第二個按鈕將折到第二行,第三個按鈕將折到第三行。按鈕"Open"本來在按鈕"OK"的右邊,但是現在跑到了下面,所以說"組件的大小不變,但是相對位置會發生變化"。

     2. BorderLayout
      BorderLayout 是Window,Frame和Dialog的缺省布局管理器。BorderLayout布局管理器把容器分成5個區域:North,South,East,West和Center,每個區域只能放置一個組件。各個區域的位置及大小如下圖所示:

        
    例5

     1 import java.awt.*;
     2 public class buttonDir{
     3  public static void main(String args[]){
     4   Frame f = new Frame("BorderLayout");
     5   f.setLayout(new BorderLayout());
     6   f.add("North"new Button("North"));//第一個參數表示把按鈕添加到容器的North區域
     7   f.add("South"new Button("South"));//第一個參數表示把按鈕添加到容器的South區域
     8   f.add("East"new Button("East"));//第一個參數表示把按鈕添加到容器的East區域
     9   f.add("West"new Button("West"));//第一個參數表示把按鈕添加到容器的West區域
    10   f.add("Center"new Button("Center"));//第一個參數表示把按鈕添加到容器的Center區域
    11   f.setSize(200,200);
    12   f.setVisible(true); 
    13  }
    14 }

    運行結果如下:

    在使用BorderLayout的時候,如果容器的大小發生變化,其變化規律為:組件的相對位置不變,大小發生變化。例如容器變高了,則North、South區域不變,West、Center、East區域變高;如果容器變寬了,West、East區域不變,North、Center、South區域變寬。不一定所有的區域都有組件,如果四周的區域(West、East、North、South區域)沒有組件,則由Center區域去補充,但是如果Center區域沒有組件,則保持空白,其效果如下幾幅圖所示:

      
           North區域缺少組        
      
          North和Center區域缺少組件

    3. GridLayout
      使容器中各個組件呈網格狀布局,平均占據容器的空間。

     1 import java.awt.*;
     2 public class buttonGrid {
     3  public static void main(String args[]){
     4   Frame f = new Frame("GridLayout");
     5   f.setLayout(new GridLayout(3,2));//容器平均分成3行2列共6格
     6   f.add(new Button("1")); //添加到第一行的第一格
     7   f.add(new Button("2")); //添加到第一行的下一格
     8   f.add(new Button("3")); //添加到第二行的第一格
     9   f.add(new Button("4")); //添加到第二行的下一格
    10   f.add(new Button("5")); //添加到第三行的第一格
    11   f.add(new Button("6")); //添加到第三行的下一格
    12   f.setSize(200,200);
    13   f.setVisible(true);
    14  }
    15 }

    運行結果如下:

    posted on 2006-01-21 22:23 ★yesjoy★ 閱讀(1032) 評論(0)  編輯  收藏 所屬分類: java.awt包
    主站蜘蛛池模板: 亚洲国产天堂久久综合网站| 亚洲一区二区三区偷拍女厕| 91亚洲精品自在在线观看| 国产色无码精品视频免费| 亚洲精品无码MV在线观看| 抽搐一进一出gif免费视频| 国产AV无码专区亚洲AWWW | 在线视频免费观看高清| 亚洲精品一区二区三区四区乱码 | 一级成人生活片免费看| 久久亚洲高清综合| 黄色短视频免费看| 亚洲AV永久青草无码精品| 久久99精品免费视频| 亚洲国产美女精品久久| 四虎成人免费观看在线网址 | 亚洲色偷偷色噜噜狠狠99| 在线视频免费观看www动漫| 亚洲jizzjizz少妇| 免费一级毛片一级毛片aa| kk4kk免费视频毛片| 亚洲av无码不卡| 亚洲一区免费在线观看| 亚洲熟女乱色一区二区三区| 免费a在线观看播放| 美女在线视频观看影院免费天天看| 久久久无码精品亚洲日韩蜜臀浪潮 | 亚洲国产精品va在线播放| 91香蕉在线观看免费高清| 亚洲国产视频久久| 日本19禁啪啪无遮挡免费动图| 一级毛片免费不卡| 亚洲人成影院在线| 国产精品成人四虎免费视频| 中文字幕的电影免费网站| 久久亚洲精品中文字幕| 国产一区二区三区无码免费| 日本免费中文字幕| 国产成人精品日本亚洲语音 | 久久国产乱子伦精品免费午夜| 亚洲高清美女一区二区三区|