小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Java:Applet布局問題 合肥Java培訓(xùn)

 昵稱15907169 2014-05-13

  applet布局問題一直都是JAVA培訓(xùn)課程中的比較重要的知識點,那按鈕、標(biāo)簽是怎樣加入到applet程序(容器)當(dāng)中去的呢?
  需要用到布局容器管理器(LayoutManager):它用于協(xié)助容器確定加入的組件(按鈕等)應(yīng)該放置的位置
  awt提供了4中常用的布局容器管理器
  >>FlowLayout
  >>BorderLayout
  >>GridLayout
  >>CardLayout
  applet默認(rèn)使用FlowLayout,applet使用容器管理器的方法如下:
  setLayout (new BorderLayout)
  setLayout()方法是applet類繼承Container類中的方法而來,因此在applet程序中可以直接調(diào)用
  applet加入按鈕一定需要上面的容器管理器么?
  不一定,可以先 setLayout(null); 然后自己確定組件放置的細(xì)節(jié),代碼麻煩。
  如果你不用布局管理器(Jframe中的用法):
  JButton    b1    =    new    JButton("hello");
  getContentPane().add(b1);
  b1.setLocation(100,10);
  以下是容器管理器常用的4種布局寫法
  =================================================
  applet 使用 FlowLayout 布局:
  指定布局:setLayout(new FlowLayout())
  加入組件:add(組件實例)
  作用:由左到右,由上到下依次放置組件
  加入組件使用applet類繼承Container類中的方法成員add();
  =================================================
  import java.awt.*;
  import java.applet.*;
  public class UseFlowLayout extends Applet{
  public void init()
  {
  setLayout(new FlowLayout()); //因為是默認(rèn)管理器,可以省略
  //setLayout()方法是applet類繼承Container類中的方法而來,因此在applet程序中可以直接調(diào)用
  for(int i = 0; i<5;i++){
  add(new Button("按鈕" + i )); //加入5個按鈕
  //applet類繼承Container類中的方法成員add();
  }
  }
  }
  ==================================================
  applet使用BorderLayout();
  指定布局:setLayout(new BorderLayout());
  加入組件:add(組件實例,位置常量)
  作用:此種布局將容器劃分為5個區(qū)域,分別是上、下、左、右、中
  [位置常量]指定了組件將要放置的位置,
  如果組件不足5個,放在中間位置的組件將自動填充空余位置
  ==================================================
  import java.awt.*;
  import java.applet.*;
  public class UseBorderLayout extends Applet{ //接口Applet
  public void init()
  {
  setLayout(new BorderLayout()); //因為是默認(rèn)管理器,可以省略
  add(new Button("按鈕上"),BorderLayout.NORTH);
  add(new Button("按鈕右"),BorderLayout.EAST);
  //?setHgap(50);想設(shè)置組件的水平和垂直的邊距,看下面的GridLayout使用方法
  add(new Button("按鈕中"),BorderLayout.CENTER);
  //add(new Button("按鈕下"),BorderLayout.SOUTH) //引上是為了測試自動填充效果
  //add(new Button("按鈕左"),BorderLayout.WEST) //引上是為了測試自動填充效果
  }
  }
  ==================================================
  applet使用GridLayout();
  指定布局:setLayout(new GridLayout(列數(shù),行數(shù)))
  加入組件:add(組件實例)
  作用:左-->右,上-->下,分成指定的網(wǎng)格
  ==================================================
  import java.awt.*;
  import java.applet.*;
  public class UseGridLayout extends Applet{ //接口Applet
  public void init()
  {
  //setLayout(new GridLayout(3,4));           //書上的寫法,我的寫法如下:
  //聲明一個布局管理器:為表格形式 3行 4列
  GridLayout GL = new GridLayout(3,4);
  GL.setHgap(20);     //設(shè)置組件的水平和垂直的邊距
  GL.setVgap(20);
  this.setLayout(GL);         //是哪個類對象的方法?!是this:當(dāng)前applet
  //加入按鈕
  for(int i=0;i<12;i++)
  {
  this.add(new Button("按鈕" + i)) ;
  //add方法是哪個類對象的?!也是當(dāng)前面板的方法
  }
  }
  }
  =========================================================
  +applet使用 CardLayout容器管理器
  指定容器管理器:setLayout(new CardLayout())
  加入組件:add(組件實例,"指定組件名稱")
  顯示組件:CL.show(this."button1"),next,previous,first
  作用:組件加入容器applet中,然后按照需要調(diào)出,被調(diào)出的組件遮蓋本容器內(nèi)的所有組件
  。。。注意,applet是容器,但不是唯一的,applet還可以加入多個容器!詳細(xì)內(nèi)容明天再學(xué)
  =========================================================
  import java.awt.*;
  import java.applet.*;
  public class UseCardLayout extends Applet{ //接口Applet
  public void init()
  {
  //指定當(dāng)前applet布局管理器為CardLayout.
  CardLayout CL = new CardLayout();
  setLayout(CL);
  //加入按鈕
  for(int i=0;i<12;i++)
  {
  add(new Button("按鈕" + i),"button" + i) ;
  }
  CL.show(this,"button11");       //將指定按鈕顯示出來
  CL.next(this);        //轉(zhuǎn)到下一個按鈕,這里說明循環(huán)顯示的效果,顯示出是button0;
  //還有CL.first(this)等方法==如:last,previous,next,first,顯示指定的就用上面的方法
  }
  }
  以上是applet作為容器,需要用到的最常用的組件布局辦法
  實際上一個容器還可以使用多個LayoutManager,
  用Panel!
  Panel屬于awt組件的容器類,也就是說它可以用來放置其他的awt組件,
  她的重要特點就是:擁有獨立的坐標(biāo)系統(tǒng)和layoutmanager.
  Panel 與 LayoutManager結(jié)合可以做出更符合需要的applet界面!
  ---附applet測試頁面
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  <HTML>
  <HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
  </HEAD>
  <BODY>
  <applet code="UseBorderLayout.class" width=400 height=300></applet>
  </BODY>
  </HTML>
  紅色部分替換成相應(yīng)的布局類

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多