• ベストアンサー

eclipseでは動くのにブラウザでは動かないApplet

 現在eclipse 3.0.1を用いてSwing Appletの開発を研究で行っている者です。  質問は、端的に言ってしまえば『eclipse以外で動かない』です。  eclipseのデバッグや実行では動作するのですが、以下の方法では初期画面は正常に出てきますがネットワークにアクセスする機能が動きません。 ・HTMLにappletタグを書き実行(ローカル) ・サーバーにアップして実行 ・アプレットビューワーで実行  原因として考えられるのはjava.net.HttpURLConnectionを用いてネットワークアクセスを行っている点なのですが、eclipse上で動いているので……  また、jTextFieldにeclipseで実行している時はCtrl+Vで貼り付けが出来るのですが、それ以外では出来ないのも気になっています。    HTMLはシンプルに、<applet code="WSNApplet.class" width=640 height=480></applet>だけです。    eclipseが特殊で実行出来ているだけで、本来Appletでは動かないのか。それとも何かあるのか、教えてください。

  • Java
  • 回答数4
  • ありがとう数1

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

  • ベストアンサー
回答No.2

セキュリティにひっかかってるのかもしれませんね。 Appletに署名するか、とりあえずはjava.policyに grant codeBase "http://xxx.xxx.xxx.xxx/-" { permission java.security.AllPermission; }; のように記述して試してみてはどうでしょう。

e2101183
質問者

補足

 回答ありがとうございます。  appletviewer実行コマンドを appletviewer -Djava.security.policy="D:\java\java.policy" xxx.html  としてみたのですが、「サポートされていないオプション」と言われてしまいました。

その他の回答 (3)

  • kacchann
  • ベストアンサー率58% (347/594)
回答No.4

>「サポートされていないオプション」と言われてしまいました appletviewer -J-Djava.security.policy かな??

e2101183
質問者

お礼

 ありがとうございます。  「サポートされていないオプション」エラーは出なくなりました。  今度は  Exception in thread "main" java.util.MissingResourceException: Can't find resource for bundle sun.applet.resources.MsgAppletViewer, key appletpanel.badattribute.exception  というエラーが出ましたが、こちらは調べてみればなんとかなりそうな予感がしています。

e2101183
質問者

補足

 C:\jre1.5.0\lib\security にあるjava.policyとjavaws.policyを下記のように書き換えることで解決しました(セキュリティのへったくれもないですが)。ありがとうございました。 grant { permission java.security.AllPermission; };

  • zed314
  • ベストアンサー率26% (4/15)
回答No.3

使っているブラウザが気になりますな。IE?IEならば、設定によってはJRE(SunのJava実行環境)ではなく、MicrosoftVMが動いていることがあります。MicrosoftVMは、Java2以降の技術を全く取り入れていない(と言うより取り入れられない)ので、Swingは動きませんよ。

e2101183
質問者

補足

 回答ありがとうございます。  ブラウザで動作させようとした際はIEです。  配布時にはかなり気をつけなければいけない点ですが、一応JREで動かしています。(タスクバーにJavaアイコン出てきますし)  何故動かないのかいろいろと調査してみた結果、java.net.HttpURLConnectionを用いたネットワークアクセス時にエラーが発生していました。アプリケーションから同一のコードを実行すると動くのですが、アプレットから動かそうとするとエラーになってしまいます。(eclipse上では動くのですが……)

  • mizuno123
  • ベストアンサー率47% (21/44)
回答No.1

SDKをインストールするときに、ブラウザのJVMを書き換えることがあります。 テストに用いているJVMは共通のものですか? 一度、最新のSDKをインストールしJVMをアップデートするのも手かもしれません。 (ただし害の無い、関係の無いマシンでテストしてくださいね) 的外れだったらすみません。

e2101183
質問者

補足

 回答ありがとうございます。JVMは確認してみましたが、ダメでした。  AppletViewerでもダメなので……

関連するQ&A

  • アプレットがappletviewerでは動くのに、ブラウザだと動かない

    アプレットを作ってjarファイルにして実行しているのですが、 コマンドラインからappletviewer xxxx.htmlで実行した場合は 問題なく動きます。 しかし、ブラウザで開いて実行すると×が出ます。 ブラウザの<applet>タグは <applet code=xxxxx archive=xxxxx.jar width = 100 height = 100> </applet> こんな感じです。 どういった原因が考えられますか? 教えてください。

    • ベストアンサー
    • Java
  • Swingのコンパイルは成功するのですが・・・。

    Swingを用いたプログラムをコンパイルして実行(javac Pull.javaとEclipseで)すると普通に動作するのですが <html> <head> <title>title</title> </head> <body> <hr> <applet code = "Pull.class" width=900 height=600> </applet> <hr> </body> </html> とwebブラウザ上で実行しようとすると上手くいきません。 FirefoxとIE,Safariで実行してみたのですが駄目でした。 特にFirefox上で動かしたいのですが <applet code = "Pull.class" width=900 height=600> ではいけないのでしょうか? よろしくお願いします。

  • AppletでPackageを指定した場合のHTML

    Defaultのパッケージで作成したAppletは <applet code="Test1.class" codebase="class1" width="150" height="150"> </applet> で実行できますが、P1のパッケージに作ったクラスの指定の仕方が分かりません。 検索で下記のように指定するようにとあったのですが動きませんでした。 <applet code="P1.Test1.class" codebase="class1" width="150" height="150"> </applet>

    • ベストアンサー
    • Java
  • Appletをhtmlから起動する際のエラー

    こんにちは、アプレットの起動について、質問させて頂きます。 現在、Eclipseを用いて勉強のためアプレットを開発しているのですが起動の際に以下のエラーが出てしまい、調べてみてもどういった状況で起こるエラーなのかが解らずに困っています。 RuntimeException java.lang.AssertionError:java.lang.reflectInvocation TargetException RuntimeExceptionは起動時のエラー java.lang.AssertionErrorは宣言の失敗で投げられるエラー というのは把握しているのですが java.lang.reflectInvocation TargetExceptionに関しては調べてもあまり情報が出ず、どういったエラーなのか全く解らない状態です。 java.lang.AssertionErrorだけでも何とかしようと思ったのですが、Eclipse上でアプレットビューアーを使い起動する場合は問題無く起動できるので、ソースコード中の問題では無いようで、どこを訂正すれば良いのか全く解りません、HTMLのjarの読み込みなどの部分で起こっているエラーだと思うのですが... 現在のディレクトリの構造や、htmlの中身は以下の通りなのですが、どこかおかしい部分はあるでしょうか? HTMLは... firstClient-HomeWork/firstClient.html <html> <body> <applet code="firstClient.firstClient.class" archive="firstClient-HomeWork_fat.jar" width=960 height=540> </applet> </body> </html> です、他の関連するファイルの置き場所については以下の通りです //Eclipseのプロジェクトをfat jarプラグインで一つのjarファイルに纏めたもの firstClient-HomeWork/firstClient-HomeWork_fat //Eclipseで生成されたclassファイル、.javaの中で package firstClientとなっているので、firstClientフォルダを作ってそこに入れてます。 firstClient-HomeWork/firstClient/firstClient.class firstClient-HomeWork/firstClient/firstClient$TimeLine.class . .//その他Eclipseで生成されたclassは全てここに入れています。 . といった構造になっているのですが、どこか間違っている部分はあるでしょうか・・・? 間違っている部分の指摘や、エラー内容の解説等を頂けると助かります、どなたか解る方が居ましたら、教えて頂けると嬉しいです、宜しくお願い致します。

  • appletをantで動かしたい

     今日は。  java初心者です、宜しくお願いします。  AppletコードにHTMLとjavaコードをかいてantで動かしたいのですが、そのようなことは可能でしょうか。  HTMLからAppletが呼び出されることを確認したいのです(勿論ant以外からもそれは確認できるのですが)  ant自体のこともよく分かってなくて、また、設定の仕方も全く分かりません。(今はEclipseで勉強しています。)  どのように設定してやれば良いのでしょうか。  宜しくお願いします。

    • ベストアンサー
    • Java
  • エクリプスでJavaアプレットを実行する時、自動生成するデフォルトのHTMLの内容を変更したい

    表題の通り、エクリプスでJavaアプレットを実行する時、自動生成するデフォルトのHTMLの内容を変更したいのですが教えて下さい。 エクリプスのメニュー → 実行 → 実行 → Javaアプレット で起動を確認すると、デフォルトでソースのあるフォルダ下に下記のHTMLが生成され起動されます。 ファイル名:BreakOut_Game1246582336296.html ------------------------------- <html> <body> <applet code=BreakOut_Game.class width="200" height="200" > </applet> </body> </html> ------------------------------- 上記のアプレットのHTMLデフォルト設定を変更したい(アプレットの枠の座標定義を変更したい)のですが、どなた様かご教授の程よろしくお願いいたします。

    • ベストアンサー
    • Java
  • JAVAアプレットの複数表示は可能ですか?

    表題の通り、HTMLに埋め込んでページにJAVAアプレットを2つ表示させようと思っています。実際、 <applet code="TRY11.class" width="300" height="300"></APPLET> と <applet code="TRY13.class" width="350" height="300"></APPLET> を埋め込んで起動させてみたんですが、最初のTRY11.classのほうは表示されました。けれど2つ目のTRY13.classは左上に×印が現れ、表示されません。 何か記述に間違いがあるんでしょうか? あるいは違う方法でないと動かないとか? ご教授お願いいたします。

  • JAVAアプレット zipの参照

    いろいろとネットで調べたのですがよくわからなかったので質問します。 自分で簡単なJAVAアプレットを作成しました。そのclassファイルをzipファイルとしてまとてめて保存しました。 その後HTMLに <applet code="*****" CODEBASE="***.zip"width=300 height=200> </applet> としたのですがzipファイルの参照が出来ませんでした。 zipファイルに入れずに同じディレクトリで実行すればできるのですがzipファイルにまとめるとだめみたいです。 もうどうすれば良いのか分からず困っています。どなたかわかる方よろしくお願いします。

  • アプレットでパッケージ指定した際の実行方法を教えてください。

    タイトルの通りです>< 例えば次のようなプログラムがあったとします。 package draw; import java.applet.Applet; import java.awt.Color; import java.awt.Graphics; /* <applet code="BackGroundColor.class" width="200" height="200"> </applet>*/ public class BackGroundColor extends Applet { public void paint(Graphics g) { setBackground(Color.cyan); setForeground(Color.lightGray); g.fillOval(10, 10, 180, 100); } } 面倒なのでタグはソース内に書き込みます。 これをアプレットビューアで確認するときに appletviewer BackGroundColor.java とやると「アプレットは初期化されていません」と怒られるわけです。 ですが、「package draw;」を消して、コンパイル後、実行すると 見事成功します。 パッケージ指定したときの実行方法を教えてください><

    • ベストアンサー
    • Java
  • Eclipseを用いたJARファイル作成について

    Eclipseを用いてjavaのプログラムをしているのですが アプレットのプログラム"のみ"がJARファイルにエクスポートできずに困っております。 [プロジェクト]を右クリック→[エクスポート]→[JARファイル]に設定するところまでは良いのですが 「JARマニフェスト仕様」というページの、「アプリケーションのエントリー・ポイントのクラスを指定」という項目で、メインクラスを参照しても アプレットのプログラムのクラス"のみ"が表示されていないのでエクスポートできません。コンソールのプログラムのクラスは表示されているので おそらく、アプレットにはmainメソッドを用いていないので表示されないのだと思うのですが・・・。 mainメソッドがないプログラムの場合はどうすれば良いのでしょうか・・・? 自分なりに、↓など調べてみたのですがどこがいけないのかわかりません。 http://mailsrv.nara-edu.ac.jp/~asait/java/applet/applet.htm http://sunjava.seesaa.net/article/57546363.html どこをどうすればこの場合、EclipseでJARファイルが作成できるのか、詳しく教えていただければ助かります。 一応、アプレットは↓の簡単なプログラムを試してみました。実行は出来ます。 import java.applet.Applet; import java.awt.Graphics; public class Sample extends Applet { public void paint(Graphics g) { g.drawString("こんにちは",10,10); } }