麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

JAR進階

2019-11-18 13:28:56
字體:
來源:轉載
供稿:網友

  先對JAR作一下簡要介紹,JAR是一種與平臺無關的文檔格式,全稱為java Archive,翻譯成中文叫Java 歸檔,咋一看,它相當于一種壓縮格式,可以把眾多的文檔合成一個文件,就象Zip,ACE等,但它所被賦予的能力遠不止這些,
  首先,它與平臺無關,并且兼容性好,就是說不管是windows,還是unix,都是通吃,甚至是IE和netscape之間的不兼容,也能輕松化解,這和java的精神是很相符合的。
  再來,它使用戶可將多個java小應用程序合并為一個文件作為單個的簡單 HTTP事務下載到瀏覽器中,從而大大提高瀏覽速度,這在越來越講究速度的www世界里是很相當具有誘惑力的。
  它還提供對applet作者的認證,這只要對JAR進行數字簽名便可。
  更為出色的是,假如瀏覽器信任該認證,那么作為可信任的applet,它便能訪問非信任的applet禁止訪問的資源,如本地硬盤和網絡。
  還有一個不似功能的優點,背靠sun,自然是好事天天有。
  總而言之是優點多多,前途無量,從它的誕生開始,它就在java的應用中的占著越來越重要的地位,不久JAR將成為分布java applet的標準方法。
  這么好的東東,是不是有些相見恨晚,那現在便開始為JAR的進階預備一些工具,當然必要的是jdk,現在普遍用的版本是1.3,那么就去下一個吧,sun的主機太遠,速度也一般般,要害是e文的,目錄又深。國內有些網站也提供下載的,速度也挺快,在搜索引擎里面查找一下便有一堆了。最好是預備一個可視化的java編程環境,在windows平臺下推薦jbuilder4,InPRise也就borland公司出的,除開資源占得厲害,有些垃圾代碼,也挺不錯的。至于jbuilder4的下載,也還是去搜索一下吧,還有要對jbuilder熟悉一下,www.94soft.com里面有jbuilder書籍下載,有愛好就去下一個看看,挺不錯的。
  現在開始JAR的第一步,jdk提供了jar的工具,就在java所在目錄的bin目錄下有一個jar.exe的應用程序,可以試著新建一個jar文件:
  jar cvf test1.jar *.class image
  c參數表示在標準輸出上創建新歸檔或空歸檔,
  v參數表示把添加了一些什么的信息在標準輸出上顯示,
  f 參數在這里表示用什么樣的jar文件名,
  在jbuilder里面新建一個JAR更加方便,wizards菜單的archive builder一步步往下選就可以了。
  為了更好的鉆研JAR,就從在jbuilder做個applet開始吧,做這樣一個東西,在一個面板上有一個按鈕,右鍵單擊按鈕將彈出一個菜單。
  新建一個工程test1.jpr
  再新建一個applet applet1.Java
  接下來在面板上擺上一個java.awt.button,
  再擺上一個java.awt.popupMenu,在popupMenu的編輯面板輸入幾個選項。
  這樣控件擺完了,接下來是寫相應的事件,源程序如下:
  package test1;
  import java.awt.*;
  import java.awt.event.*;
  import java.applet.*;
  public class Applet1 extends Applet {
  boolean isStandalone = false;
  PopupMenu popupMenu1 = new PopupMenu();
  MenuItem menuItem1 = new MenuItem();
  MenuItem menuItem2 = new MenuItem();
  MenuItem menuItem3 = new MenuItem();
  Button button1 = new Button();
  /**Get a parameter value*/
  public String getParameter(String key, String def) {
  return isStandalone ? System.getProperty(key, def) :
  (getParameter(key) != null ? getParameter(key) : def);
  }
  /**ConstrUCt the applet*/
  public Applet1() {
  }
  /**Initialize the applet*/
  public void init() {
  try {
  jbInit();
  }
  catch(Exception e) {
  e.printStackTrace();
  }
  }
  /**Component initialization*/
  private void jbInit() throws Exception {
  menuItem1.setLabel("1");
  menuItem2.setLabel("2");
  menuItem3.setLabel("3");
  button1.setLabel("button1");
  file://這是button1的監聽事件,
  button1.addMouseListener(new java.awt.event.MouseAdapter() {
  public void mousePressed(MouseEvent e) {
  button1_mousePressed(e);
  }
  });
  popupMenu1.add(menuItem1);
  popupMenu1.add(menuItem2);
  popupMenu1.add(menuItem3);
  this.add(button1, null);
  add(popupMenu1);
  }
  /**Get Applet information*/
  public String getAppletInfo() {
  return "Applet Information";
  }
  /**Get parameter info*/
  public String[][] getParameterInfo() {
  return null;
  }
  void button1_mousePressed(MouseEvent e) {
  /*通過InputEvent.BUTTON3_MASK對右鍵的判定
  要判定是左鍵用InputEvent.BUTTON1_MASK,
  */
  int mods=e.getModifiers();
  if((mods&InputEvent.BUTTON3_MASK)!=0)
  {
  popupMenu1.show(button1,e.getX(),e.getY());
  button
  }
  }
  }
  file://applet1.java is over
  運行一下,確實可以看到右鍵彈出了相應的菜單。
  我們現在可以打包并發布了.
  選擇wizards菜單的archive builder,或者通過new 的archive builder來可視化的創建一個包含這個applet的JAR文件。
  需要注重的幾點是,
  1.archive type 選applet,這個選項并不重要,只是相當于通知一下接下來做的是一個applet的JAR文件包
  2.project class and resources選include required class and known resources ,這句理解為待會兒生成的JAR文件包中包含被調用的類文件和需要使用到資源文件。
  3.required classes and resources 需添加test1的applet1,新建的JAR文件包默認情況下并不包含所應用到的applet的class文件,需要在這里進行添加,有多少要用到的applet,就應該在這里都添加進去
  完成后會發現多出來一個applet的圖標,在build后會在其下面多出來一個test1.jar,在JAR的屬性欄里是一樣可以添加和刪除applet的class文件的,只是記得每次重新編譯了class文件后都要rebuild這個JAR文件,這是為了讓JAR文件中的class也得到及時更新。
  雙擊test1.jar會發現有兩個class文件,Applet1.class和Applet1$1.class,后者是用來存放鼠標監聽,右鍵點擊事件的中間代碼的。
  現在只是需要把它發布到瀏覽器上就可以了。
  在test1目錄下新建applet1.Html文件,內容很簡單:
  <APPLET code=test1.Applet1.class archive="test1.jar"></APPLET>
  相比之下,要選擇發布這樣的class文件,就必須把Applet1.class和Applet1$1.classl兩個文件同時放到一個目錄下面,兩個文件還可以這樣照顧的了,但一旦class文件數量增多了,就會難免會出現個別文件丟失的情況,使applet的應用產生錯誤。
  打包成JAR也使整個applet成為一個事務就可以下載過來,因此也減少了網絡開銷,加快了下載的速度。由此可見,JAR文件格式的出現確實讓applet的應用進入了一個新的可持續發展的階段。
  從上一篇看到的JAR的基本用法,似乎并沒讓人有感覺到JAR的出現是給applet的應用帶來了一個新的開始。但您也許看完了下面的,就會對JAR稍有認同了。
  
    很多試著在jbuilder里做過applet的java愛好者都知道,applet的界面布局是一個比較繁人的問題,遠不是如VB里面把控件放到界面上那么簡單,就算是用最"高級"的grid bag布局治理器,要在上面擺多個控件也是需要調整又調整的,而且就算是在jbuilder里面還看得可以接受,但換到瀏覽器里面也許又是另一個樣子了,當然也有擺得好的,當究竟是需要時間和經驗的,可是在jbuilder里面假如對底板不選grid bag布局治理器,而選XY布局,那在上面擺控件就真的是一件很輕松的事情了,令人遺憾的是XY布局所調用的類是com.borland.jbcl.layout下面的,是由borland公司自己編寫的,很顯然這樣編寫的applet是輕松了編寫,痛苦了應用,因為實在是無法讓僅僅認得jdk1.0的IE去熟悉borland寫的類,那么就真的只有寫給自己看了嗎,現在有了JAR,你會發現如按下面的步驟來,是可以很輕松的讓別人也看到你寫的包含非jdk標準類的applet。
  
    我們在第一步寫的那界面上再添加幾個按鈕,先把底板的布局由grid bag改變成xy,再在上面添加幾個按鈕,把按鈕的右擊事件也設置為彈出菜單,以下是源程序,在jbuilder生成的代碼上簡化一下,去掉暫可不用的代碼和一些注釋,但保證可以正常運行,
  
  package test1;
  import java.awt.*;
  import java.awt.event.*;
  import java.applet.*;
  import com.borland.jbcl.layout.*;
  
  public class Applet1 extends Applet {
  boolean isStandalone = false;
  PopupMenu popupMenu1 = new PopupMenu();
  MenuItem menuItem1 = new MenuItem();
  MenuItem menuItem2 = new MenuItem();
  MenuItem menuItem3 = new MenuItem();
  Button button1 = new Button();
  XYLayout xYLayout1 = new XYLayout();/*面板改變為XYLayout布局,使用的是非jdk標準類*/
  Button button2 = new Button();
  Button button3 = new Button();/*添加三個按鈕*/
  public void init() {
  menuItem1.setLabel("1");
  menuItem2.setLabel("2");
  menuItem3.setLabel("3");
  button1.setLabel("button1");
  button1.addMouseListener(new java.awt.event.MouseAdapter() {
  public void mousePressed(MouseEve

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产一区二区视频观看 | 午夜精品久久久久久久99热浪潮 | 国产九色在线观看 | 久久国产成人精品国产成人亚洲 | 一区二区精品视频在线观看 | 久久久视频免费观看 | 黄色成人短视频 | 欧美福利视频一区二区三区 | 国产精品99久久99久久久二 | 久久国产中文字幕 | 久久最新网址 | 亚洲九草 | 久久老司机精品视频 | 色99久久| 美女视频在线观看黄 | 一级做a爰片性色毛片2021 | 午夜av男人的天堂 | 8x成人在线电影 | 亚洲小视频在线 | 欧美激情在线播放 | 黄网站在线免费看 | mmmwww| 国产精品成人免费一区久久羞羞 | 免费中文视频 | 特黄一级小说 | 国产精品免费在线 | 永久免费毛片 | 国产美女视频一区二区三区 | 久久久久久亚洲综合影院红桃 | 九九热视频这里只有精品 | 日本一级黄色毛片 | 久草成人在线 | 亚洲精品一区中文字幕 | 国产成人高潮免费观看精品 | 91成人免费视频 | 国产精品视频导航 | 特级无码毛片免费视频尤物 | 综合国产在线 | 在线播放视频一区二区 | 国产91在线亚洲 | 成人小视频免费在线观看 |