📚

[Java] Appletをブラウザ上で動かす方法(for Macユーザー)

4 min read

Appletとは、

ネットワークを通してWebブラウザに読み込まれ、ブラウザ上で処理される仕組みのアプリケーション

のことです。

そして、Macユーザーに向けて、JavaのAppletを自作し、
ブラウザ上で動かす方法を解説する、とういうのが今回の趣旨です。

~必要な環境やソフト~

・WindowsOS(Webブラウザ:Internet Exprollerが必須のため)
・JRE8とJDK8(Appletを動かせるプラグインが必要なためjava8以下。また、
①はJRE8のみで良い。②と③を行いたい人はJDK8が必要。)
・Webサーバー(ex.ロリポップサーバー)とFTPクライアントソフト(ex.CyberDuckやFFFTP)

~前書き~

いきなりですが、Appletをブラウザで表示させることが、Macユーザーですと実は厳しいのです。
現在、Java Appletを動かせるブラウザは、IE(Internet Explorer)だけと言っていい状況です。なので、(残念ながら?)、Macユーザーの方々には、Windows環境が必要だと、まずお伝えせねばなりません。(ちなみに、今回は説明はしないのですが、Webブラウザからではなくてもいいから、Appletの動作だけを確認したいというのであれば、eclipseのアプレットビューアーなどで可能です。)

というのも、HTML5の登場などの理由で、ほとんどのWebブラウザがもはや対応をやめました。
また、Java アプレット(Applet) をブラウザで実行させるためには、JavaのAppletのプラグインが必要なのですが、2019年3月31日に、Java SE 8 で開発が終了しました。(ただ、2030年12月まで引き続きサポートはされることになっています。)

[Java SE 8 の Java Plugin サポートの終了について (Doc ID 2516777.1)]

https://support.oracle.com/knowledge/Middleware/2516777_1.html

他には、今回、HTMLを公開できるサーバーが必要になりますのでご了承ください。
Appeletをブラウザ上で表示する際に、セキュリティの関係で表示できるようにするためには、URLが必要になるため、ローカル上にあるファイルではできないためです。
(サーバーは、ロリポップサーバーで説明しています。今回の用途であれば、月額100円程度のプランに加入すれば利用可能かと思います。)

本記事では、まずは自分でAppletを作るより前に、他人のつくったAppletをブラウザで表示する方法を説明します。(ここまででも、Webブラウザ上でAppletが動くところを見ることはクリアできますね^^)
その次に、自作Appletを作り、サーバーにアップロードして動作を確認するという流れで、説明していこうと思います。

手順

①ブラウザで、他人のつくったAppletを動かしてみる

まずブラウザで確認するために、IEを開ける環境を用意します。
WindowsOSのPCか、仮想環境を用意しましょう。

そして、Javaを動かすために、以下のサイトから、Java8のJREをWindowsにインストールしましょう。
●JRE

https://www.java.com/ja/download/ie_manual.jsp

インストールできたかどうかは、下記コマンドで確認して下さい。

¥ java -version

まずは試しに、誰かの作ったAppletのサンプルプログラムを動かしてみましょう。
ネットで検索して探してみて下さい。

見つけたら、IEで開いてみましょう。
どうでしょうか? Javaのアイコンとロード画面が出たでしょうか。
ただ、セキュリティの問題でエラーになって表示されないのではないかなと思います。

その場合は、
Windowsのコントロールパネルから、全てのプログラム⇨Javaを選択します。
Javaの設定画面が出ますので、セキュリティタブを選択します。
セキュリティレベルは一応「高」にしておきましょう。
そして、開きたいアプレットのWebページのURLを「例外サイト・リスト」に追加します。
追加後に下にある、「セキュリティプロンプトの復元」を押して、変更を適用して閉じます。

もう一度、サイトを開いてみましょう。
次のようなダイアログメッセージが出たでしょうか。

これで、実行すれば開けると思います。

②自作Appletをつくる

まず、Javaの開発環境を整えましょう。Javaを見るだけならば、JREで良いのですが、
コンパイルなどをして、開発するには、JDKが必要になりますので、ダウンロードして下さい。
●JDK(Java SE Development Kit 8u311)

https://www.oracle.com/java/technologies/downloads/#java8

インストールできたかどうかは、下記コマンドで確認してください。

¥ javac -version

次に、AppletのJavaファイルを作成しましょう。
Helloと文字を描画するプログラムを作成します。

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

public class Hello extends Applet{
 public void paint(Graphics g){
   g.drawString("Hello Applet",25,25);
 }
}

できたら、今度は、このプログラムをコンパイルします。

¥ javac Hello.java

すると、「Hello.class」が作成されます。

最後に、Appletを動かすHtmlファイルを作成しましょう。

<!DOCTYPE html>
<html>
<head>
<title>Applet</title>
</head>
<body>

<applet code = "Hello.class"  weight = 100 height = 100>
</applet>

</body>
</html>

以上で、プログラムの準備は完了です。

因みに、AppletがJava16などでコンパイルされている場合、
下記のエラーがブラウザ上で開くときに出て開けないため、注意しましょう。

それでは、次は、ウェブブラウザで実際に動かしていく準備をしていきましょう。

③自作AppletをWebサーバーで公開して、ブラウザ上で動かす

では、サーバーを使用して、自作Appletをウェブブラウザで見れるようにしていきたいと思います。サーバーは、HTMLが公開できればなんでもいいのですが、ロリポップサーバーで説明していきます。
今回の用途であれば、月額100円程度のプランに加入すれば可能かと思います。

まず、サーバーにFTP通信で接続しましょう。FTPクライアントソフトは「CyberDuck」を使用しています。接続方法は、「ロリポップサーバー CyberDuck FTP接続」などで検索していただければ出てくると思いますが、下記サイトなどご参考にしてください。

https://lolipop.jp/manual/hp/m-cyberduck/

接続できましたら、
サーバーの同じディレクトリ上に、Appletの.classファイルとAppletを動かすHtmlファイルを置きましょう。

では、最後に①で他人のAppletを表示した時と、同じように、
セキュリティに関する設定を行って、ブラウザ上で下記のように表示されたら成功です。

後書き

お疲れ様でした。いかがだったでしょうか。
Applet自体、もう古くなっているためそもそも学習する必要性がないとも聞きます。
ですが、知的好奇心などから取り組んだのですが、思った以上に「互換性」という問題が立ちはだかり実際に動かすということが困難でした。

自分も、Macユーザーなのですが、たまたまサブ機でWindowsPCも持っていました。
ただ、スペックが低いため、プログラムの開発やサーバー操作はMac、ブラウザ上での確認はWindowsということで行いました。

いつ、完全に使えなくなるかわからないAppletですが、だからこそ、今のうちに触って確かめてみるのも良いのかなと思ってやりましたが、特に、Macユーザーだと互換性のあたりで無駄に多くの労力を使ってし舞うのではないかと思い共有させていただきました。

Discussion

ログインするとコメントできます