• ベストアンサー

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では動かないのか。それとも何かあるのか、教えてください。

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

  • ベストアンサー
回答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