• ベストアンサー

アプレットをブラウザで表示できない

こんにちは 似たような質問がいくつかありましたが 解決していないものもあったので また質問させていただきます。 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を使うとちゃんとアプレットだけは 正しく表示されます。 どなたか教えていただけないでしょうか? 本当に困っています。 私の他にも困っている人がたくさんいるような気がします。 お願いします。

  • Java
  • 回答数5
  • ありがとう数6

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.5

#4>java testと入力 >Exception in thread "main" java.lang.NoSuchMethodError: main というエラーが出ます。 アプレットは、java test のようには実行できません。 他から起動されるようになっていて、自分でmain を持たないからです。 >test.htmlファイルをクリックすると正しくブラウザにアプレットが表示されます。 であれば、それで正常に実行できています。

19746999
質問者

お礼

BLUEPIXYさん、ご回答ありがとうございます。 そうだったんですか! やはりリカバリーしてよかったです。 ということでそろそろ質問を締め切ろうと思います。 ほんとうに長い期間ありがとうございました。

その他の回答 (4)

  • Gishi
  • ベストアンサー率57% (11/19)
回答No.4

「-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での設定の仕方は忘れてしまいましたが。

19746999
質問者

お礼

Gishiさん ご回答ありがとうございました。 -target 1.1をつけてコンパイルできましたが やはりブラウザで表示できませんでした。 ▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△ それから、2つ目のやり方を試したいのですが java pluginを有効にするやり方がわからないので 他に誰かご存知の人いらっしゃいませんか? お願いします。

19746999
質問者

補足

こんにちは。 思い切って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)
回答No.3

#2>javaの許可の欄は安全性(高)になっていました。 アプレットの方も確認してみましたか? あと、セキュリティツールでブロックされているというようなことはありませんか?

19746999
質問者

補足

返事遅くなってごめんなさい。 今日は1日休みなので返事後れないようにします。 javaアプレットのスクリプト は有効にするにチェックされていました。 セキュリティツールでブロックされていましたが 解除の仕方がわかりませんでした。 結局アプレットは表示されませんでした。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

#1補足のプログラムで試してみたところでは、ウチの環境 IE6.0SP2 Java 1.5.0_06 では実行できました。 JAVA の実行が許可されていないということはありませんか? IEのツール~インターネットオプション  セキュリティタブ~レベルのカスタマイズから確認できます。

19746999
質問者

お礼

ご回答ありがとうございます。 javaの許可の欄は安全性(高) になっていました。 カスタムや安全性(中)にしたりしてみましたが だめでした。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

test.java の内容を補足していただけますか

19746999
質問者

補足

はい。 --------------------------- 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で開くとアップレットが表示されない以外(タイトルと本文)はちゃんと表示されます。」 の間違いでした。すいません。

関連するQ&A

  • Linux上でjavaアプレットがブラウザ表示できません

    すごく初歩的なことかもしれないのですが、Linux上でjavaアプレットがを実行しようとすると下記のような予期しないエラーが表示されました。Linux上ではjavaアプレットはブラウザ(IE)に表示できないのでしょうか? もし、何か分かることがありましたら、ご教授御願いします。 ちなみにjavaアプリケーションは正常に実行できる環境です。 エラー内容: Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable. at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method) at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:1 26) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:130) at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvi ronment.java:62) at java.awt.Window.init(Window.java:208) at java.awt.Window.<init>(Window.java:252) at java.awt.Frame.<init>(Frame.java:398) at java.awt.Frame.<init>(Frame.java:363) at sun.applet.AppletViewer.<init>(AppletViewer.java:139) at sun.applet.StdAppletViewerFactory.createAppletViewer(AppletViewer.jav a:80) at sun.applet.AppletViewer.parse(AppletViewer.java:1062) at sun.applet.AppletViewer.parse(AppletViewer.java:996) at sun.applet.Main.run(Main.java:138) at sun.applet.Main.main(Main.java:80)

    • ベストアンサー
    • Java
  • UTF-8 TeraTermPro で javaをするにはどうしたらよいのでしょうか

    javaをつい先日からはじめた超初心者です。(javaに関しては) そこで、プログラムがのっている参考書片手にそのまま写して実行させたのですがエラー??で何もできません。 友人に聞いても、そのまま実行すればできる。しか言いません。 授業でもいづれ必要になってくるのでこのままにしておくわけにはいかないのです・・・ 一応、こんな風になりました↓ import java.awt.*; import java.applet.*; public class WebApplet extends Applet{ public void paint(Graphics g){ String myString; myString="簡単なアプレット"; g.drawString(myString,50,50); } } <HTML> <HEAD>実験</HEAD> <BODY> <APPLET CODE ="WebApplet.class"width="190"height="90"> </APPLET> </BODY> </HTML> で、appletviewer WebApplet.HTMLと実行すると Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using・・・・・・・ と実行できないのです。 どなたか、教えてください。 個人で調べてみたのですが、さっぱりわかりません!! よろしくお願いします!!

    • ベストアンサー
    • Java
  • アプレットがうまく動かない…

    javaを勉強しています。本を参考にして、下記のようなアプレットを書いたのですが、さらにその下のようなエラー(?)が表示されてしまって、画像が表示されません。もしこれだけの情報で見当がつきましたら、よろしくお願いします。 import java.applet.Applet; import java.awt.Graphics; import java.awt.Image; public class main extends Applet{ Image img; public void init(){ img = getImage(getDocumentBase(), "test.jpg"); } public void paint(Graphics g){ g.drawImage(img,0,0,this); } } java.lang.UnsupportedClassVersionError: main (Unsupported major.minor version 49 .0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:537) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12 3) at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:157) at java.lang.ClassLoader.loadClass(ClassLoader.java:289) at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:123) at java.lang.ClassLoader.loadClass(ClassLoader.java:235) at sun.applet.AppletClassLoader.loadCode(AppletClassLoader.java:561) at sun.applet.AppletPanel.createApplet(AppletPanel.java:617) at sun.applet.AppletPanel.runLoader(AppletPanel.java:546) at sun.applet.AppletPanel.run(AppletPanel.java:298) at java.lang.Thread.run(Thread.java:534)

    • ベストアンサー
    • Java
  • JAVAでアプレットをつくりたいのですが

    コマンドプロンプトで命令して、Hello worldのように文字をコマンドプロンプト上に出すことはできたのですが、アニメーションなのどのアプレットを出そうとすると Exception in thread "main"java.lang.NoSuchMethodError:main とでてしまいます。ある研究室で公開されているソースファイルを使い、球がスタート、ストップボタンで動くアプレットなのですが、何か出力表示するための別のソフトが必要なのでしょうか?ちなみにJDK1.3.1を使用しています。初心者なので専門用語の使い方がおかしい所がありましたら申し訳ありません。どうぞ宜しくお願いいたします。

    • ベストアンサー
    • Java
  • javaでアプレットの描画が出来ない

    ものすごく初心者な質問で申し訳ありません。 jdk-1.6.0をVine linux 3.2にインストールして使用しています。 javaのソースを書いてコンパイルするなどには問題は無いのですが (今のところ) 以下のようなアプレットを試してみたところアプレットの窓は起動しますが 描画がされません。 import java.applet.Applet; import java.awt.Graphics; /* <applet code="test" width=200 height=200> </applet> */ public class test extends Applet { public void paint(Graphics g) { g.drawLine(10,10,180,110); } } 以上のコードを %javac test.java %appletviewer test.java としました。窓は起動し、アプレットが開始された、と表示されるのですが 線が見当たりません。 (ちなみに教科書にあるサンプルなので間違いがあったとしたら写し間違いです) 線が表示されるはずなんですが、表示されないのです。 まども起動するので何かJAVAを使う環境として何か細かい設定を間違って いるのかと思い質問しました。 分かる方がいらっしゃったら教えてください。

  • java アプレットでエラー

    以下のサンプルソースをEclipse上で実行したら "アプレットは初期化されていません"というエラーになってしまいました。 //フレームウィンドウの表示/非表示を切り替える。 import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class Sample129 extends Applet implements ActionListener { Button bt; frame fr; public void init() { bt = new Button("ウィンドウ表示"); add(bt); bt.addActionListener(this); fr = new frame("操作対象ウィンドウ"); fr.setSize(250,120); } public void actionPerformed(ActionEvent event) { //ウインドウを表示 fr.setVisible(true); } } class frame extends Frame { frame(String title) { super(title); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { //ウインドウを非表示 setVisible(false); } }); } public void paint(Graphics g) { g.drawString("閉じるボタンで非表示",65,65); } } ■エラー内容 java.lang.NoSuchMethodError: frame: method <init>(Ljava/lang/String;)V not found at Sample129.init(Sample129.java:17) at sun.applet.AppletPanel.run(Unknown Source) at java.lang.Thread.run(Unknown Source) どうすればこのエラーが解消できるのでしょうか。

  • 実行画面で表示されるエラーのことなんですが

    java.lang.NoSuchMethodError: main Exception in thread "main" と表示されます。どうすればよいでしょうか?自分としてはテキスト ファイルの読み込みあたりがおかしいのかなと思うのですが、このエラーをぐぐったら指定したクラスの中にmainメソッドが含まれていないと 書いてあってよくわからないです。

    • ベストアンサー
    • Java
  • Javaの実行できません、教えてください。

    Javaの実行できません、教えてください。 http://members2.jcom.home.ne.jp/take_1118/Applet39.html このページのサンプルプログラムを実行したいですが、どうしても Exception in thread "main" java.lang.NoSuchMethodError:main というエラーが出るため、実行できません。 どうすればできるんでしょうか?教えてください、お願いします。 サンプルプログラムではmainメソッドが含まれていないようですが、そうすれば実行できるんでしょうか?

  • アプレットのコード変更後の反映ができない

    JAVAの初心者です。困っております、お助けくださいm(__)m JAVAアプレットを作成しております。 IE上で”Hello!”と表示するだけです。 一回目は正常なのですが、 二回目は”Good Morning!”と表示するように 変更して、再度IEで表示してみると ”Hello!”のままなのです。 classファイルは更新されています。 メモリに残っているんでしょうか・・ IEの履歴や一時ファイルも削除してみましたが だめでした。 環境はWinXPSP2、NetBeans IDE 4.1、 JAVA 1.5.0_04 です。 コードは以下の通りです。 <Lesson1.java> import java.applet.Applet; import java.awt.*; public class Lesson1 extends Applet{ public void paint(Graphics g){ g.drawString("Hello!", 10,10); } } <Lesson1.html> <HTML> <BODY> これはテスト <applet code="Lesson1.class"></applet> </BODY> </HTML> よろしくお願いします。

    • ベストアンサー
    • Java
  • アプレットをhtmlに乗せると動かなくなります…

    こんにちは。わざわざ見て下さっている方ありがとうございます! 作ったアプレットがアプレットビューアの上でなら動くのに、htmlに乗せると「読み込みに失敗しました」になってしまいます。 私は本当に初心者でして、何をお伝えすればいいのか分からないのですが、htmlのアプレットを右クリックした時に出てくる[Javaコンソール]というものが限りなく怪しいかなと思いましたので、下にペーストしておきました。関係なかったらすみません。 Class: class ThreeDMaze ClassLoader: sun.plugin.security.PluginClassLoader@10dd1f7 java.security.AccessControlException: access denied (java.io.FilePermission .\mapFile read) at java.security.AccessControlContext.checkPermission(Unknown Source) at java.security.AccessController.checkPermission(Unknown Source) at java.lang.SecurityManager.checkPermission(Unknown Source) at java.lang.SecurityManager.checkRead(Unknown Source) at java.io.File.list(Unknown Source) at ThreeDMaze.init(ThreeDMaze.java:70) at sun.applet.AppletPanel.run(Unknown Source) at java.lang.Thread.run(Unknown Source) どうか宜しくお願いします!

    • ベストアンサー
    • Java

専門家に質問してみよう