亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

具有 Applet & Application 雙重身份的類

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

  Applet(小應用程序) 就用于網頁中,美化和豐富網頁的內容,由瀏覽器治理其生命周期(Life Cycle), 即生成(new)、初始化(init)、運行(start)、停止(stop)和銷毀(destroy)等。寫 applet,必須從 java.applet.Applet 類繼續,并根據需要重載 init()(applet 被讀入系統時由瀏覽器調用,只調用一次,初始化 appet), start()(瀏覽器運行 applet 時調用), stop()(瀏覽器停止 applet 時調用), destroy()(applet 被銷毀時調用,在這里釋放一些需要釋放的資源) 等方法。如下例是一個簡單的、什么都不做的 applet:
  /**
   * @(#) MyApplet.java
   * @author fancy
   */
  
  import java.applet.*;
  
  public class MyApplet extends Applet { // ! 必須從 java.applet.Applet 繼續 !
  
  }
    application(應用程序) 是能使用 java 命令運行的 java 應用程序,它以一個特定的 main() 方法為入口,自行治理其生命周期。寫一個 application 則必須要實現上述特定的 main() 方法。該 main() 方法必須是 public(公有)、static(靜態)、void(無返回值) 的,而且必須要求一個 String[] 類型的參數。如下例是一個簡單的,什么都不做的 application:
  
  /**
   * @(#) MyApplication.java
   * @author fancy
   */
  
  public class MyApplication
  {
  
    public static void main(String[] args)
      {
      // ! 必須要有一個 pulic static void main(String[]) 方法 !
      }
  
  }
    簡單的介紹過 applet 和 application 的要點之后,下面我們要進入主題了——寫一個類,
  它即是 applet 又是 application。
  
    根據上述 applet 和 application 的特點和要求,這個類必須從 java.applet.Applet 繼
  承,且實現了 public static void main(String[]) 方法,如下例,它同樣什么都不做:
  
  /**
   * @(#) MyAppletApplication.java
   * @author fancy
   */
  
  import java.applet.*;
  
  public class MyAppletApplication extends Applet
  {
    // ! ① 從 java.applet.Applet 繼續 !
     public static void main(String[] args)
    {
       // ! ② 實現了 public static void main(String[]) 方法 !
    }
  }
    上面說的各類都是什么都不做的,假如要做什么又該怎么辦呢?
  
    由于 applet 是瀏覽器治理其生命周期,即由瀏覽器生成 applet 實例和調用它從
  java.applet.Applet 類繼續的 init()、start()、stop() 和 destroy() 等方法;而
  application 是由自己治理生命周期,需要自己生成實例并調用相關方法。所以我們的
  MyAppletApplication 類必須根據需要實現 init()、start()、stop() 和 destroy() 等方法,
  以便瀏覽器對其生命周期進行治理;同時,也必須在那個特定的 main() 方法中生成該類的實例
  (對象),并調用用于治理期生命周期的相關方法。如
  
  /**
   * @(#) MyAppletApplication.java
   * @author fancy
   */
  
  import java.applet.*;
  
  public class MyAppletApplication extends Applet {
  
    public static void main(String[] args) {
      MyAppletApplication app = new yAppletApplication(); // ①生成實例
      ......
      app.init(); // ② 初始化
      ......
      app.start(); // ③ 開始運行
      ......
      app.stop(); // ④ 停止運行
      ......
      app.destroy(); // ⑤ 銷毀
      ......
    }
  
  }
    其實做到這些還是不夠的,因為一個 applet 放入網頁中,就由瀏覽器負責對其進行繪制(顯
  示),而在應用程序中,則需要我們使用相關部件對其進行繪制。值得慶幸的是,
  java.applet.Applet 從 java.awt.Componnet 繼續,它就是一個 AWT 部件(Component),我們只
  需要將它加入到一個 Frame 或者 Window 中即可實現對它的繪制。至此,所有的問題都已經解決
  了,請看下例:
  
  /**
   * @(#) MyAppletApplication.java
   * @author fancy
   */
  
  import java.applet.*;
  import java.awt.*;
  import java.awt.event.*;
  
  public class MyAppletApplication extends Applet { // 從 java.applet.Applet 繼續
  
    PRivate List list;
  
    public void init() { // 初始化
      list = new List();
      add(list);
      list.addItem("Initializing");
      System.out.println("Initializing");
    }
  
    public void start() { // 開始運行時
      list.addItem("Starting");
      System.out.println("Starting");
    }
  
    public void stop() { // 結束運行時
      list.addItem("Stopping"); // 這句看不到效果
      System.out.println("Stopping");
    }
  
    public void destroy() { // 銷毀時
      list.addItem("Destroying"); // 這句看不到效果
      System.out.println("Destroying");
    }
  
    public static void main(String[] args) {
      MyAppletApplication app = new MyAppletApplication();
      app.init();
      app.start();
      Frame frame = new Frame();
      frame.add(app);
      frame.addWindowListener(new MyWindowListener(app));
      frame.setSize(200, 150);
      frame.show();
    }
  
    public static class MyWindowListener extends WindowAdapter {
  
      Applet applet;
  
      public MyWindowListener(Applet applet) {
        this.applet = applet;
      }
  
      public void windowClosing(WindowEvent event) {
        applet.stop();
        applet.destroy();
        System.exit(0);
      }
  
    }
  
  }
    備注:上例中,在 stop() 和 destroy() 中為 list 添加項是看不到效果的,因為此時applet 已經停止或者正在銷毀,它作為 application 身份時也一樣。另外,所有的System.out.println() 語句在上例作為 applet 時也是看不到的。
  
  注重:并不是所有的小應用程序都可能同時也是應用程序,因為有一些在小應用程序中的功能不能用于應用程序中,如 Applet.getCodeBase()、Applet.getDocumentBase() 等在 Application中應用時就會拋異常。而一些在 Application 中可以使用的內容,由于安全問題,也不能在 Applet 中使用,究竟 Applet 是要發布在網上的,需要更高的安全性。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91欧美精品成人综合在线观看| 国产亚洲一级高清| 美女精品视频一区| 久久国产精品视频| 中文日韩在线视频| 精品国产乱码久久久久久婷婷| 欧美成人性色生活仑片| 久久久www成人免费精品张筱雨| 久久久国产精品视频| 九九精品视频在线| 亚洲国产精品久久91精品| 尤物tv国产一区| 亚洲色图25p| 日韩专区在线播放| 亚洲激情在线观看视频免费| 亚洲美女视频网站| www.日本久久久久com.| 在线观看久久久久久| 成人在线播放av| 岛国av一区二区三区| 黑人巨大精品欧美一区二区| 亚洲欧美精品suv| 久久久久成人精品| 日韩视频在线观看免费| 亚洲视频精品在线| 另类色图亚洲色图| 亚洲第一区在线| 亚洲色图18p| 国产亚洲一区精品| 国产丝袜一区视频在线观看| 欧美激情一级精品国产| 欧美日韩免费在线观看| 欧洲成人免费aa| 91精品91久久久久久| 日韩成人在线电影网| 日韩精品久久久久久福利| 最近2019年日本中文免费字幕| 亚洲成人久久电影| 欧美激情高清视频| 亚洲欧美国产一本综合首页| 好吊成人免视频| 日韩精品免费观看| 69久久夜色精品国产69乱青草| 中文字幕成人在线| 亚洲片在线观看| 美女福利视频一区| 日韩免费av片在线观看| 91精品综合久久久久久五月天| 亚洲天堂影视av| 2023亚洲男人天堂| 欧美黄色片视频| 亚洲精品福利在线| 欧美日韩在线免费观看| 日本伊人精品一区二区三区介绍| 欧美日韩亚洲精品一区二区三区| 国产午夜精品麻豆| 欧美亚洲视频在线看网址| 国产亚洲美女精品久久久| 久久久久久美女| 亚洲男人天堂古典| 亚洲国产天堂网精品网站| 国产精品一区二区三区毛片淫片| 久久av资源网站| 久久久免费观看| 国产精品美女久久久免费| 国产91成人在在线播放| 欧美久久久精品| 中文字幕亚洲一区二区三区五十路| 亚洲专区在线视频| 91精品免费视频| 亚洲国产精品99| 91精品国产免费久久久久久| 久久久国产视频| 国产精品69精品一区二区三区| 精品久久久久久久中文字幕| 久久久国产精品免费| 成人av在线网址| 国产精品自产拍高潮在线观看| 日韩精品免费视频| 97在线看免费观看视频在线观看| 国产精品久久一| 亚洲日本aⅴ片在线观看香蕉| 热re91久久精品国99热蜜臀| 精品国产福利视频| 国产成人啪精品视频免费网| 欧美中文字幕在线观看| 亚洲毛茸茸少妇高潮呻吟| 成人www视频在线观看| 韩国国内大量揄拍精品视频| 欧美成人自拍视频| 日韩中文字幕精品视频| 欧美在线观看一区二区三区| 国产精品中文字幕在线观看| 91色p视频在线| 色婷婷综合久久久久中文字幕1| 欧美色视频日本版| 一区二区日韩精品| 色综合五月天导航| 欧美黄色成人网| 久久久久久91香蕉国产| 日韩在线播放av| 亚洲老板91色精品久久| 日韩精品黄色网| 国产精品福利在线观看网址| 日韩中文字幕网| 人人爽久久涩噜噜噜网站| 欧美专区在线播放| 国产日韩在线播放| 日韩在线视频播放| 国产91网红主播在线观看| 日产精品99久久久久久| 国产精品福利网| 国产精品高清在线观看| 亚洲乱码一区二区| 日韩在线播放视频| 成人激情视频在线观看| 国产精品久久久久久超碰| 欧美另类老女人| 粗暴蹂躏中文一区二区三区| 欧美日本啪啪无遮挡网站| 欧美视频在线免费| 精品爽片免费看久久| 中文字幕欧美视频在线| 欧美激情一区二区三区在线视频观看| 国产精品无av码在线观看| 日韩欧美在线第一页| 福利一区福利二区微拍刺激| 亚洲欧洲中文天堂| 国产脚交av在线一区二区| 欧美老女人性视频| 久热在线中文字幕色999舞| 国产剧情日韩欧美| 国外视频精品毛片| 57pao国产精品一区| 亚洲欧洲国产精品| 亚洲美女av在线| 国产精品爱啪在线线免费观看| 欧美精品福利在线| 欧美精品成人91久久久久久久| 亚洲字幕在线观看| 国产一区二区三区高清在线观看| 精品国产欧美一区二区五十路| 成人免费视频97| 日韩视频―中文字幕| 一区二区三区视频免费| 亚洲电影免费观看高清| 亚洲黄色成人网| 欧美伊久线香蕉线新在线| 国产精品av在线播放| 日韩中文在线中文网三级| 69视频在线播放| 精品magnet| 日本视频久久久| 久久久久免费精品国产| 欧美肥老太性生活视频| 日韩人在线观看| 久久久久久高潮国产精品视| 亚洲日韩中文字幕在线播放| 国产一区二区动漫| 成人黄色大片在线免费观看| 日韩最新中文字幕电影免费看| 亚洲视频在线看| 亚洲韩国日本中文字幕| 久久精品在线播放|