// 
//     Licensed to the Apache Software Foundation (ASF) under one
//     or more contributor license agreements.  See the NOTICE file
//     distributed with this work for additional information
//     regarding copyright ownership.  The ASF licenses this file
//     to you under the Apache License, Version 2.0 (the
//     "License"); you may not use this file except in compliance
//     with the License.  You may obtain a copy of the License at
// 
//       http://www.apache.org/licenses/LICENSE-2.0
// 
//     Unless required by applicable law or agreed to in writing,
//     software distributed under the License is distributed on an
//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//     KIND, either express or implied.  See the License for the
//     specific language governing permissions and limitations
//     under the License.
//

= Webアプリケーションでのアプレットの統合
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: Webアプリケーションでのアプレットの統合 - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, Webアプリケーションでのアプレットの統合

アプレットとは、Javaプログラミング言語で記述されたプログラムで、イメージをページに含めるのとよく似た方法でHTMLページに含めることができるものです。このチュートリアルでビルドするアプリケーションでは、アプレットをIDE内でビルドしてデプロイする方法を示します。

*注意: *IDE内にアプレットを作成する目的で設計されたプロジェクト・テンプレートはありませんが、このようなテンプレートは、このチュートリアルで示すようにJavaプロジェクトで簡単に開発してWebプロジェクト内にパッケージ化できます。


image::images/netbeans-stamp-80-74-73.png[title="このページの内容は、NetBeans IDE 7.2、7.3、7.4および8.0に適用されます"]


*このチュートリアルに従うには、次のソフトウェアとリソースが必要です。*

|===
|ソフトウェアまたはリソース |必須バージョン 

|link:https://netbeans.org/downloads/index.html[+NetBeans IDE+] |7.2、7.3、7.4、8.0、Javaバージョン 

|link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+Java Development Kit (JDK)+] |バージョン7または8 

|GlassFish Server Open Source Edition
_または_
Tomcatサーブレット・コンテナ |3.xまたは4.x
_ _ 
バージョン7.xまたは8.x 
|===


== アプレット・ソース・ファイルの作成またはインポート

この項では、最初のアプレットを作成します。作成したアプレットがすでにある場合、次の手順を使用してそのアプレットをIDEにインポートします。


=== 最初からまたは既存のソースからのJavaプロジェクト作成

1. 「ファイル」>「新規プロジェクト」([Ctrl]-[Shift]-[N])を選択します。「カテゴリ」から「Java」を選択します。
2. 次のいずれかを選択します。
* 新しいアプレット・ソース・ファイルを作成する場合、「プロジェクト」の下の「Javaクラス・ライブラリ」を選択します。「次」をクリックします。
* アプレット・ソース・ファイルをインポートする場合、既存のソースがあるJavaプロジェクトを選択します。「次」をクリックします。「ソース・パッケージのフォルダ」テキスト・ボックスで、ファイルの場所を指定します。
3. 「プロジェクト名」に「 ``HelloApplet`` 」と入力します。「プロジェクトの場所」をローカル・コンピュータ上の任意のフォルダに変更します。
4. 「終了」をクリックします。アプレット・ソース・ファイルをインポートした場合は、<<runanddebug,それを実行>>します。


=== アプレット・ソース・ファイルの作成

1. 「HelloApplet」プロジェクトを右クリックして「プロパティ」を選択し、「プロパティ」ウィンドウを開きます。
2. プロジェクトに必要なソース/バイナリ形式を選択し、「OK」をクリックします。

*注意: *たとえば、JDK 6を選択した場合、それより古いバージョンのJREまたはJavaブラウザ・プラグインが存在するマシンでは、アプレットが動作しない可能性があります。

3. 「プロジェクト」ウィンドウの「HelloApplet」プロジェクト・ノードを右クリックし、「新規」>「その他」([Ctrl]-[N])を選択します。
4. 「カテゴリ」から「Java」を選択します。「ファイル・タイプ」から「アプレット」を選択します。

または、新しいアプレットを視覚的にデザインする場合、「Swing GUIフォーム」>「JAppletフォーム」を選択します。

「次」をクリックします。

5. 「クラス名」に「 ``MyApplet`` 」と入力します。「パッケージ」に「 ``org.me.hello`` 」と入力します。
6. 「終了」をクリックします。

IDEで、アプレット・ソース・ファイルが指定したパッケージ内に作成されます。ソース・エディタが開いて、アプレット・ソース・ファイルが表示されます。

7. 既存のデフォルト・コードの上に次のコードを コピーして貼り付け、アプレット・クラスを定義します。

[source,java]
----

     package org.me.hello;

     import java.applet.Applet;
     import java.awt.Graphics;

     public class MyApplet extends Applet {
         @Override
         public void paint(Graphics g) {
             g.drawString("Hello applet!", 50, 25);
         }
     }
                    
----

または、アプレット・フォームをデザインする場合、link:../java/quickstart-gui.html[+NetBeans IDEにおけるGUI構築+]のドキュメントを使用して、次のようなフォームを作成します。

image::images/movie-magic-quiz-design.png[]

アプレットの記述方法に関する詳細は、Java^TM^チュートリアルのlink:http://download.oracle.com/javase/tutorial/deployment/applet/index.html[+アプレット+]の項を参照してください。


== アプレット・ソース・ファイルの実行

作成したアプレットは、IDEから実行できます。この項でその方法を説明します。


=== アプレット・ソース・ファイルのビルドと実行

「プロジェクト」ウィンドウでMyApplet.javaファイル・ノードを右クリックし、コンテキスト・メニューから「ファイルの実行」を選択します。アプレットが埋め込まれる ``MyApplet.html`` 起動ファイルは、 ``build`` フォルダに作成され、「ファイル」ウィンドウ([Ctrl]-[2])に切り替えると確認できます。

image::images/built-project-files.png[]

アプレットはアプレット・ビューアで起動します。

image::images/appletviewer.png[]

アプレット・フォームもアプレット・ビューアで表示されます。

image::images/movie-magic-quiz.png[]


== アプレットのWebアプリケーションへの埋込み

これでアプレットの作成は完了しました。次に、これをユーザーが使用できるようにする必要があります。そのためには、Webアプリケーションを作成し、このアプレットJARをクラスパスに配置し、アプレット・タグをWebアプリケーションのHTMLファイルに追加します。


=== Webプロジェクトの作成

1. 「ファイル」>「新規プロジェクト」を選択します。
2. 「Java Web」カテゴリから「Webアプリケーション」を選択します。「次」をクリックします。
3. 「プロジェクト名」に「 ``HelloWebApplet`` 」と入力します。
4. 「プロジェクトの場所」をローカル・コンピュータ上の任意のフォルダに変更します。「次」をクリックします。
5. ターゲット・サーバーを選択します。「終了」をクリックします。


=== アプレットJARファイルのWebプロジェクトへの追加

アプレットJARファイルをWebプロジェクトに含める場合は、そのJARファイルが格納されたJavaプロジェクトを追加するか、またはJARファイル自体を追加します。どちらを選択することもできますが、JavaプロジェクトをWebプロジェクトに追加する場合、Webアプリケーションをビルドするたびに、IDEでそのアプレットが毎回ビルドされます。そのため、そのアプレットをJavaプロジェクトで変更すると、そのWebプロジェクトのビルド時にIDEで新しいバージョンのアプレットが常にビルドされます。一方、そのアプレットJARファイルがNetBeans IDEプロジェクト内にない場合、アプレット・ソース・ファイルはWebプロジェクトのビルド時に再ビルドされません。

*注意:* IDEで ``HelloApplet`` プロジェクトを使用している場合、この時点で ``HelloApplet.jar`` ファイルは存在しません。それで問題ありません。 ``HelloApplet.jar`` ファイルは ``HelloWebApplet`` プロジェクトのビルド時にビルドされます。

1. 「プロジェクト」ウィンドウで、「HelloWebApplet」プロジェクト・ノードを右クリックし、コンテキスト・メニューから「プロパティ」を選択します。
2. 「パッケージング」カテゴリを選択します。
3. 次のいずれかを選択します。
* アプレットがJavaプロジェクト内にある場合、「プロジェクトの追加」をクリックしてJavaプロジェクトを含むフォルダを特定します。「JAR/フォルダの追加」をクリックします。

*注意:*IDEプロジェクトには、NetBeans IDEプロジェクト・アイコンのマークが付きます。

* IDEプロジェクト内にないアプレットJARファイルを使用している場合、「ファイル/フォルダの追加」をクリックし、JARファイルを含むフォルダを特定します。「選択」をクリックします。
4. アプレットのソース・ファイルを含むJARが「プロジェクト・プロパティ」ウィンドウの表にリストされていることを確認します。「OK」をクリックします。

デフォルトでは、アプレットJARファイルはWebアプリケーションのWebページ・ライブラリ( ``build/web`` フォルダ)にコピーされます。 ``build/web`` フォルダはアプリケーションのルート・ディレクトリで、表の「WAR内のパス」列に" ``/`` "と表示されます。「WAR内のパス」列にアプレットの新しい場所を入力すると、WAR内のアプレットの場所を変更できます。

5. 「閉じる」をクリックして、「プロジェクト・プロパティ」ウィンドウを閉じます。

IDEのメイン・メニューから「実行」>「プロジェクトのビルド(HelloWebApplet)」を選択して ``HelloWebApplet`` プロジェクトをビルドすると、アプレットのJARファイルが元の ``HelloApplet`` プロジェクト内に生成され、 ``HelloWebApplet`` プロジェクトのWARファイルにパッケージ化されます。 ``build/web`` フォルダにも追加されます。この処理を「出力」ウィンドウで追跡し、結果を「ファイル」ウィンドウで確認できます。

[.feature]
--
image:images/helloapplet-jar-in-files-small.png[role="left", link="images/helloapplet-jar-in-files.png"]
--


=== JSPファイルまたはHTMLファイルの作成と実行

1. 次のいずれかを選択します。
* アプレットをJSPファイルに埋め込む場合は、「プロジェクト」ウィンドウにあるデフォルトの ``index.jsp`` ファイルをダブルクリックします。このファイルは、Webプロジェクトの作成時にIDEで作成されます。ソース・エディタにこのファイルが表示されます。
* アプレットをHTMLファイルに埋め込む場合は、「HelloWebApplet」プロジェクト・ノードを右クリックし、コンテキスト・メニューから「新規」>「その他」を選択します。「カテゴリ」から「Web」を選択します。「ファイル・タイプ」から「HTML」を選択します。「次」をクリックします。HTMLファイルに名前を付け、その場所としてWebフォルダを選択し、「終了」をクリックします。
2. 次のように、ファイルの ``<body>``  ``</body>`` の2つのタグの間の任意の場所にアプレット・タグを追加することで、アプレットをファイルに埋め込みます。

* HTMLファイル内: [examplecode]# ``<applet code="org.me.hello.MyApplet" archive="HelloApplet.jar"></applet>``  #
* JSPファイル内: [examplecode]# ``<applet code="org.me.hello.MyApplet" archive="HelloApplet.jar" width="600" height="480"/>`` #

*注意:*

* このチュートリアルでは、HTMLファイルにアプレット・コードを追加する場合は、左マージンにあるヒント・グリフを無視できます。
*  ``org.me.hello.MyApplet`` はアプレットの完全クラス名です。
*  ``HelloApplet.jar`` はアプレットを格納するJARファイル名です。
3. 「プロジェクト」ウィンドウでこのJSPノードまたはHTMLノードを右クリックし、コンテキスト・メニューから「ファイルを実行」を選択します。

サーバーによって、JSPファイルまたはHTMLファイルがIDEのデフォルト・ブラウザにデプロイされます。

次の図のような表示になります(セキュリティ警告ダイアログ・ボックスで「実行」をクリックしてアプリケーションの実行を許可した後)。

[.feature]
--
image:images/appletinbrowser-small.png[role="left", link="images/appletinbrowser.png"]
--

アプレット・フォームの場合、次のように表示されるはずです。

image::images/movie-magic-quiz-html.png[]


link:/about/contact_form.html?to=3&subject=Feedback:%20Introduction%20to%20Developing%20Applets[+このチュートリアルに関するご意見をお寄せください+]


