- ベストアンサー
アプレットをブラウザで表示できない
こんにちは 似たような質問がいくつかありましたが 解決していないものもあったので また質問させていただきます。 kibou00さん(02/06/17 00:50)の質問とよく似ているのですが 私の場合実行しようとすると Exception in thread "main" java.lang.NoSuchMethodError: main というエラーが出ます。 手順は 1、コマンドプロンプトを開きます。 2、javac test.javaでコンパイルし、test.classを生成します。 (コンパイラはJava2SDKのバージョン1.4.2_09です。) (このとき、何もメッセージはでませんでした。) 3,java testで実行しようとすると xception in thread "main" java.lang.NoSuchMethodError: main というエラーが出ます。 また以下の内容の test.html を test.class と同じディレクトリに置いてIEで開くとアップレットが表示されない以外(タイトルと本文)。 はちゃんと表示されます <html> <head> <title>タイトル</title> </head> <body> <h3>プログラム<h3> <applet code=test.class width=300 height=210><br> </applet> </body> </html> なぜブラウザではアプレットが表示されないのでしょうか。 ただし、appletviewerを使うとちゃんとアプレットだけは 正しく表示されます。 どなたか教えていただけないでしょうか? 本当に困っています。 私の他にも困っている人がたくさんいるような気がします。 お願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
#4>java testと入力 >Exception in thread "main" java.lang.NoSuchMethodError: main というエラーが出ます。 アプレットは、java test のようには実行できません。 他から起動されるようになっていて、自分でmain を持たないからです。 >test.htmlファイルをクリックすると正しくブラウザにアプレットが表示されます。 であれば、それで正常に実行できています。
その他の回答 (4)
- Gishi
- ベストアンサー率57% (11/19)
「-target 1.1」というオプションをつけてコンパイルしてみてください。 > javac -target 1.1 test.java IEに搭載されてるJVMが古いもの (いわゆるMSJVM)であることが原因だと思います。 MSJVM(あるいはMicrosoft VM)は Java 1.1 相当なので 1.1対応のクラスファイルを作成する必要があります。 そのためのオプションが「-target 1.1」です。 あるいは、 IEで Java Plugin を有効にしてもいいです。 アプレットをウェブ上で公開する気がないなら、 こっちの方法をおすすめします。 「コントロールパネル」→「Java」だったかな? 1.4.2での設定の仕方は忘れてしまいましたが。
お礼
Gishiさん ご回答ありがとうございました。 -target 1.1をつけてコンパイルできましたが やはりブラウザで表示できませんでした。 ▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△ それから、2つ目のやり方を試したいのですが java pluginを有効にするやり方がわからないので 他に誰かご存知の人いらっしゃいませんか? お願いします。
補足
こんにちは。 思い切ってPCをリカバリーしてみて、同じように試みたのですがだめでした。 以下のやり方で何か間違っていることってありますか? もしお気付きになりましたらぜひ教えていただきたいです。 ▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△ 1.j2sdk1.4.2_11をローカルディスク(c:)にインストール 2.「cd:\myjava set PATH=c:\j2sdk1.4.2_11\bin;%PATH%」 と入力したbatファイルをローカルディスクに作成 3.myjavaというフォルダを作成しその中に 「import java.applet.Applet; import java.awt.*; public class test extends Applet { public void paint(Graphics g) { g.drawString("メッセージ",50,50); } }」 と入力した「test.java」ファイルを作成 4.同様にmyjavaフォルダの中に」 「<html> <head> <title>テスト</title> </head> <body> <h3>プログラム</h3> <applet code=tst.class width=300 height=210><br> </applet> </body> </html>」 と入力した「test.html」ファイルを作成 5.コマンドプロンプトを起動し myjavaと入力 myjavacと入力 javac test.javaと入力(javac -target 1.1 test.javaも試しました。) java testと入力 そして前回と同じく Exception in thread "main" java.lang.NoSuchMethodError: main というエラーが出ます。 ちなみに、appletviewer test.htmlと入力するとちゃんとアプレットは出てくるし test.htmlファイルをクリックすると正しくブラウザにアプレットが表示されます。 本当に困っています。 よろしくお願いします。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
#2>javaの許可の欄は安全性(高)になっていました。 アプレットの方も確認してみましたか? あと、セキュリティツールでブロックされているというようなことはありませんか?
補足
返事遅くなってごめんなさい。 今日は1日休みなので返事後れないようにします。 javaアプレットのスクリプト は有効にするにチェックされていました。 セキュリティツールでブロックされていましたが 解除の仕方がわかりませんでした。 結局アプレットは表示されませんでした。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
#1補足のプログラムで試してみたところでは、ウチの環境 IE6.0SP2 Java 1.5.0_06 では実行できました。 JAVA の実行が許可されていないということはありませんか? IEのツール~インターネットオプション セキュリティタブ~レベルのカスタマイズから確認できます。
お礼
ご回答ありがとうございます。 javaの許可の欄は安全性(高) になっていました。 カスタムや安全性(中)にしたりしてみましたが だめでした。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
test.java の内容を補足していただけますか
補足
はい。 --------------------------- import java.applet.Applet; import java.awt.*; public class test extends Applet { public void paint(Graphics g) { g.drawString("メッセージ",50,50); } } ----------------------------- これでよろしいでしょうか? あとそれから入力ミスで 「また以下の内容の test.html を test.class と同じディレクトリに置いてIEで開くとアップレットが表示されない以外(タイトルと本文)。 はちゃんと表示されます」 という文は 「また以下の内容の test.html を test.class と同じディレクトリに置いてIEで開くとアップレットが表示されない以外(タイトルと本文)はちゃんと表示されます。」 の間違いでした。すいません。
お礼
BLUEPIXYさん、ご回答ありがとうございます。 そうだったんですか! やはりリカバリーしてよかったです。 ということでそろそろ質問を締め切ろうと思います。 ほんとうに長い期間ありがとうございました。