ホームページ  >  記事  >  Java  >  Java アプレットの詳細については、こちらをご覧ください。

Java アプレットの詳細については、こちらをご覧ください。

Y2J
Y2Jオリジナル
2017-05-18 10:59:082497ブラウズ

1. Java アプレットの動作原理とライフサイクル
1. アプレットは HTML ページに埋め込まれ、アプレット コンテナ (アプレットビューアまたは Web ブラウザ) によって実行されます。

2. アプレットの動作はブラウザによって制御されます。ブラウザは、アプレットを含む Web ページを読み込むと、アプレット クラスのオブジェクトを生成し、アプレット クラス オブジェクトの 5 つの public void メソッドを使用してアプレットの実行を制御します。これら 5 つのメソッドは次のとおりです: init、start、paint、stop、destroy

3. アプレットには 5 つのパブリック void メソッド (アプレットのライフサイクル) があります:
init()
アプレットを開始するとき、ブラウザは常にデフォルトのコンストラクターを呼び出します。アプレット クラスのオブジェクトを生成し、初期化のために init() メソッドを呼び出します。通常、このメソッドでは、アプレットの実行に必要なオブジェクトが生成され、アプレット クラスのすべてのデータ メンバーが初期化されます。 start メソッドは、init() メソッドの直後にブラウザによって呼び出されます。ユーザーが現在の HTML ページを離れて現在の HTML ページに戻った場合、start() メソッドも呼び出されます。start() メソッドが一般的に使用されます。アプレット
Paint (Graphics G)
で必要な追加のスレッドを開始するには、start() メソッドが開始された後、このメソッドを呼び出して描画します。このメソッドには、アプレット コンテナを使用して Graphics オブジェクト g をペイント() メソッドに渡して画像を描画することが含まれます。
stop()
ユーザーがアプレットを含む HTML ページから離れると、ブラウザは停止後にこのメソッドを呼び出します。 start() メソッドが呼び出されると、start() メソッドで開始されたすべての操作が直ちに停止されます。 ' s ' s ' s ' s t t このメソッドが実行される前に、stop() メソッドが実行されます。常に呼び出されます。

2. Java アプレット
プログラミング

1. ペイント メソッドでの Graphics オブジェクト g の作成は、アプレット コンテナ (アプレットビューアまたは Web ブラウザ) の作成を担当します。 2. ペイント内 (グラフィックス g) メソッドの最初の文は、親クラス アプレットのペイント メソッドを呼び出すために使用される super.paint(g) と記述されることがよくありますが、通常の状況では、このステートメントがなくても実行できますが、In を使用した場合はこのステートメントが使用されません。多くの
drawing コンポーネントや GUI コンポーネントを含む複雑なアプレットでは、このステートメントを無視すると重大なエラーが発生する可能性があります。そのため、アプレット プログラムを作成するときは、必ずこのステートメントをペイント メソッドの行に設定するようにしてください。これは、プログラミングの良い習慣です。

        import java.awt.Graphics; 
        import javax.swing.JApplet; 
        public class DrawMultiStringApplet2 extends JApplet{ 
                        // 在applet上绘制文本 
                        public void paint(Graphics g){ 
                                        super.paint(g); 
                                        g.drawString("Java TM Applet", 25, 25); 
                        } 
        }

3. Java 座標系の原点は左上隅にあり、ピクセル単位で測定されます。 ピクセルはコンピューター画面上の最小表示単位です。

4. Java でテキストを描画する場合、「」改行を追加します。改行は発生しません。不明な文字を示す黒いボックスが表示される場合や、まったく表示されない場合があります。そのため、アプレットは
抽象クラス のオブジェクトを直接作成できません。画像クラス。アプレットは、アプレット コンテナにそれをロードさせるメソッドを呼び出す必要があります。また、プログラムで使用される Inmage クラスのオブジェクトを返す必要があります。アプレットには、画像をアプレットにロードする getImage というメソッドが用意されています。このメソッドは、画像ファイルの場所とファイル名という 2 つのパラメータを受け取ります。例: logoJPG = getImage(getDocumentBase(), "logo.jpg"); 6. repaint() メソッドが呼び出されるとき、背景全体をクリアする必要があり、ペイント メソッドを呼び出して描画を表示します。このようにして、背景がクリアされ、描画が短時間の間、ユーザーに表示されます。次の 2 つです。ちらつきを大幅に除去または弱める方法:
update メソッド
。デフォルトでは、update メソッドはアプレットの背景をクリアしてから、paint メソッドを呼び出します。update メソッドをオーバーロードすることで、以前の描画コードをアプレットに含めることができます。ペイント メソッドをアプレット メソッドに組み込むことで、毎回の再描画を回避します。
ダブル バッファリング テクノロジー ダブル バッファリング テクノロジーは、多くの アニメーション
アプレットで使用されます。画像を取得し、drawImage メソッドを呼び出して背景画像全体を一度に描画します。このメソッドの利点は、描画のほとんどが背景で行われることです。描画された背景画像が一度に画面に描画されます。背景画像を作成する前に、まず createImage メソッドを呼び出して適切なバック バッファを生成し、そのバッファ内に描画環境 (つまり、Graphics クラス オブジェクト) を取得します。 要約: 描画を改善するためのアイデアを要約します。ペイントメソッド内で各種描画メソッドを直接呼び出すのではなく、オーバーロードされた更新メソッドを使用し、バッファ内に描画環境を取得した後、その描画環境をメモリに読み込むダブルバッファリング技術です。は、イメージ描画作業を担当しなくなりました。つまり、ペイント メソッドはイメージ描画コードをロードしなくなりました。ペイント メソッドでは、update メソッドを直接呼び出して、メモリ バッファーの描画環境にイメージを描画します。すべての画像描画作業が完了すると、バッファの内容が一度にアプレットに書き込まれ、ウィンドウが直接表示されます。この方法は、画像の損失とちらつきの問題を巧みに解決します。 Java アプレットの学習 JDK にはデモ ディレクトリがあり、高品質のアプレット ソース コードが含まれています。これらのアプレット コードを実行すると、アプレット機能が非常に強力で、3 次元を実現していることがわかります。グラフィックス、カラフルなアニメーション、時計など。
4. アプレットの応用分野
現在、Flash の普及により、アプレットはリッチでカラフルな Web ページアニメーションを実現する段階から消えました。アプレットは現在、複雑で動的な Web アプリケーションのグラフィックス分野、人間とコンピューターの対話 などで一般的に使用されています。たとえば、アプレットを使用して株価コードの動的な曲線を描画し、ページ上に表示することもできます。また、アプレットを使用して、内部または外部を通じて工場機械の動作パラメータを検出するなど、複雑なブラウザベースのリアルタイム Web 監視システムを構築することもできます。イントラネットなど、他の Web テクノロジーではこれらを実現するのは困難です。


【関連する推奨事項】

1. 特別な推奨事項

:
「php Programmer Toolbox」V0.1バージョンのダウンロード
2.

Javaの無料ビデオチュートリアル

3.ブラウザが Web サービスにアクセスできるようにアプレットを使用するシステム

4. Java:アプレットに埋め込まれたHTMLタグの詳しい説明

5. アプレット環境の設定方法を説明します

以上がJava アプレットの詳細については、こちらをご覧ください。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。