dポイントプレゼントキャンペーン実施中!

ソースの先頭にimport java.applet.Applet;と書かれたソースをコンパイルすると、ローカルのjava.applet.Appletを読み込んで*.classを作るのだと思うのですが、java.applet.Appletが見つかりません。
普通はどのあたりにあるのでしょうか?

A 回答 (3件)

java.applet.AppletクラスはJavaの実行環境(JRE)、またはJavaの開発環境(J2SE)のライブラリとして標準でインストールされています。



具体的には、下記のディレクトリの"rt.jar"に含まれています。(Windowsの場合)

■JRE
 C:\Program Files\Java\<Javaのバージョン>\lib

■J2SE (C:\j2sdk1.4.2にインストールした場合)
 C:\j2sdk1.4.2\jre\lib

通常は、コンパイル時には上記のJ2SE側の rt.jar を使ってコンパイルされるので java.applet.Appletクラスの存在を意識しなくても良いです。
また、実行時には上記のJRE側の rt.jar が使用されます。

ですから、コンパイル時、あるいは実行時にそれぞれのディレクトリに rt.jar がないとエラーが発生します。

ちなみに rt.jar の中身を確認したいのであれば、下記のコマンドをコマンドプロンプトから実行し、出力先のファイルをテキストエディタで開くと確認できます。

 cd C:\j2sdk\jre\lib   ← ディレクトリ移動

 jar tvf rt.jar > C:\Temp\result.txt ← rt.jarの中身をテキストファイルに出力

 notepad C:\Temp\result.txt   ← メモ帳で出力結果を表示


 出力結果のファイルには、java.applet.Appletであれば "java/applet/Applet" のように "." が "/" に置き換わって出力されています。
    • good
    • 0

#1です。

質問がいまいち理解できないところがあります。想像で書きます。アプレットを作成する場合はクラスAppletを継承するので、import java.applet.*;が必要になります。つまり、コンパイル時も実行時にもクラスAppletが必要です。クラスAppletはjava/applet/の下にあります。java.applet.*;の*は「java/applet/下のすべてのクラス」を意味します。C++でもライブラリlib(ソースでない)はコンパイル時に使用しますよね。importで指定するものはこのlibみたいなものです。

>java.applet.Appletを書くと、僕が作る*.classはAppletを使うことができるのですが、コンパイル時に
java.applet.Appletの存在は不要なのでしょうか?
--->「使うことができる」のでなく書かねばならない。コンパイル時にも必要です。
>java.applet.Appletが必要になるのは*.classが実行された直後ですか?
--->質問の意味がちょっと不明。貴方の書かれたアプレットが実行されるときにApplet.classも実行されます。

>*.classが実行できるということはこのパソコンの中にAppletがあると思うんですけど見つからないのです。
--->あります。jarファイルになっているので見えません。
    • good
    • 0

importはC言語でいうincludeみたいなものですが、importされたものがコンパイルされる訳でありません。

importに指定したjava.applet.Appletは*.classの集まり(Jarファイル)で、ディレクトリ構造(java/applet/....)になっております。つまり、ディレクトリ構造を含めた*.classがJarになったものです。

この回答への補足

ありがとうございます。
まだ分からない部分があるので教えてください。

java.applet.Appletを書くと、僕が作る*.classはAppletを使うことができるのですが、コンパイル時に
java.applet.Appletの存在は不要なのでしょうか?
java.applet.Appletが必要になるのは*.classが実行された直後ですか?

*.classが実行できるということはこのパソコンの中にAppletがあると思うんですけど見つからないのです。

補足日時:2004/10/15 10:14
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!