JAvaシステム学習(18)---------Applet設計

4785 ワード

Appletプログラミングはjavaプログラミング言語において極めて重要な独特な機能である.一般的なJavaプログラムとは異なり、HTMLページに埋め込み、JavaをサポートするWebブラウザの解釈で実行できます.Java Appletプログラムは、IEブラウザ3.0以上のバージョンのみサポートされています.このような小さなアプリケーションを通じて.設計されたページには、一定のインタラクティブ機能があります.初期のjavaプログラミングappletアプリケーションは多く、web面の発展に伴い、appletアプリケーションは減少し、activeX、flash、jsなどに取って代わられつつありました. ここではやはり大体理解してみましょう.
Appletの基本概念とライフサイクル
   AppletはWebブラウザで実行されるJavaの小さなアプリケーションです.HTMLページに埋め込むことができ、Webブラウザでダウンロードして実行することができます.Javaプログラムを実行するには、実行するすべての内容をメイン実行関数に入れるだけで実行できるメイン実行関数を作成する必要があります.しかし、Appletウィジェットでは、WebブラウザのJava仮想マシン呼び出しによって実行されるメイン実行関数は必要ありません.    Appletクラスはjava.appletパッケージにあり、Panelクラスから継承されているため、AWTコンポーネントを含むコンテナでもある.Appletをよく理解するために、まず簡単な例を見て、Appletアプリケーションの作成方法を学びます.
  import java.applet.*
public class testl extends Applet   //  Applet 
{ 
}
その後、同じディレクトリにHTMLを拡張子とするファイルを作成します.
<html>
<body>
<Applet  code="testl.class"  width="200"  height="200">
</Applet>
</body>
</html>
最後にDOSウィンドウで、次のコマンドを使用します.
Appletviewer htmlを拡張子とするファイル名
    Appletプログラムでは、メイン実行関数は不要で、代わりにinit()を使用し、 start(),  stop()とdestroy()メソッド.これらの関数について説明します.
    口public void init():Appletの初期化操作を完了します.
    口public void start():ブラウザを起動してAppletプログラムを実行します.
    口public void stop():Appletの実行を一時停止します.
    口public void destroy():Appletの実行を取り消します.
    この4つの関数はAppletのライフサイクルを形成しています.これらの手順は次のとおりです.
     Appletクラスのロード--Appletオブジェクトの作成(コンストラクタの呼び出し)--init()--Start()
Appletのマルチメディア処理
おんせいしょり
音声や画像の処理がAppletの台頭の原因です.このセクションでは、これらのマルチメディアのコンテンツをどのように処理するかを例によって学習します.実はマルチメディアの処理は難しいことではありません.肝心なのは関数の呼び出しです.
 Javaで再生できる音声ファイル形式はAIFF、 AU,  WAV,  MIDI,  RMFなど.AppletパッケージのAudioClipインタフェースには音声に関するAPIが含まれており,音声ファイルの繰り返し再生を実現し,必要に応じて音声ファイルの再生を停止することができる.AudioClipインタフェースのいくつかの一般的な方法は以下の通りである.    口void play():音声ファイルを1回再生します.    口void stop():音声ファイルの再生を停止します.    口void loop():音声ファイルをループ再生します.    音声ファイルを再生するには、AppletオブジェクトからAudioClipオブジェクトを取得するだけでよい.Appletクラスには、以下に示すように、AudioClipインタフェースと組み合わせる方法がある.    口public void play(URL url):指定したurlの音声ファイルを再生します.    口public void play(URL url,String name):指定された場所urlでnameという名前のサウンドファイルを再生します.    口public final static AudioClip newAudioClip(URL url):指定された場所urlで音声ファイルを再生するために使用できるAudioClipオブジェクトを取得します.    口public AudioClip getAudioClip(URL url)、public AudioClip getAudioClip(URL url,string  name):指定した位置の音声ファイルを再生するAudioClipオブジェクトを取得します.
画像処理
音声を処理しても画像を処理しても、最も重要なのは関数の運用を把握することです.Appletクラスにおける画像処理に関する方法は以下の通りである.    口public Image getImage(URL url):urlで指定した画像オブジェクトを取得します.    口public Image getImage(URL url,string name):指定したurlおよびnameを使用して、画像を取得します.    Appletクラスに関連する位置の方法は以下の通りである.    口public URL getCodeBase():Applet Codeの場所URLを取得します.    口public URL getDocumentBase():Webページの場所URLを取得します.
Appletでブラウザを制御する方法
  APIにはAppletContextクラスというクラスがあり、これを利用するとブラウザだけでなく、同じページの他のAppletも制御できます.以下にAppIetContextクラスの一般的な方法を列挙する.    口void showDocument(URL url):urlが指定したページを表示します.    口public void showDocument(URL url,String target):urlで指定したWebページをターゲットウィンドウに表示します.    口Applet getApplet(String name):同じページのnameというAppletを取得します.    口Enumeration getApplets():同じページのすべてのAppletを取得します.    口void showStatus(String status):ブラウザのステータスバーにstatus文字列を表示します.
Appletのセキュリティ
 Appletを含むWebページにアクセスすると、希望しても望まなくても、WebページのAppletがダウンロードされて実行されます.プログラマーが悪意のあるAppletを設計すると、ユーザーがこのページにアクセスすると、ユーザーを攻撃します.
    この問題を解決するために、Appletは、ユーザーのセキュリティを脅かすコードが含まれていることを防止するために、セキュリティの保障を提供しています.
Appletには、次のセキュリティ事項が含まれています.    ポートAppletでは、ユーザーコンピュータのプログラムを実行できません.    ポートAppletはユーザーコンピュータのファイルにアクセスできません.    口Appletはユーザーコンピュータの情報の大部分を取得できません.    ポートAppletでは、ユーザーコンピュータのnative methodを呼び出すことができません.    ポートAppletは、本Appletを提供するサーバとしか通信できません.

Javaファイル
//   
import java.applet.*;
import java.awt.*;
public class test2 extends Applet{  //Applet  
        AudioClip voice;    //    AudioClip  voice
      public void init(){       //     
              //   voice  ,      
              voice=getAudioClip(getCodeBase(),"ding.wav");
            }
public void   start(){//     
voice.loop(); //        
}
 
public void   stop()(       //       
voice.stop();  //        
}

}


同じディレクトリの下にHTMLファイルを作成するには、次のようにします.
<html>
        <body>
《-  test2.class  -》
<Applet code="test2 .class" width="200" height="200">
</Applet>
        </body>
</html>

実行するとding.wavという音声ファイルが絶えず再生され、他のページに移動するまで音楽の再生が停止します.
よくある質問
ブラウザがAppletを実行する方法
まず、Appletが.classファイルにコンパイルされたことを確認し、*.htmlファイル(拡張子も.html)を作成します.コードは以下の通りです: