- ベストアンサー
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では動かないのか。それとも何かあるのか、教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
セキュリティにひっかかってるのかもしれませんね。 Appletに署名するか、とりあえずはjava.policyに grant codeBase "http://xxx.xxx.xxx.xxx/-" { permission java.security.AllPermission; }; のように記述して試してみてはどうでしょう。
その他の回答 (3)
- kacchann
- ベストアンサー率58% (347/594)
>「サポートされていないオプション」と言われてしまいました appletviewer -J-Djava.security.policy かな??
お礼
ありがとうございます。 「サポートされていないオプション」エラーは出なくなりました。 今度は Exception in thread "main" java.util.MissingResourceException: Can't find resource for bundle sun.applet.resources.MsgAppletViewer, key appletpanel.badattribute.exception というエラーが出ましたが、こちらは調べてみればなんとかなりそうな予感がしています。
補足
C:\jre1.5.0\lib\security にあるjava.policyとjavaws.policyを下記のように書き換えることで解決しました(セキュリティのへったくれもないですが)。ありがとうございました。 grant { permission java.security.AllPermission; };
- zed314
- ベストアンサー率26% (4/15)
使っているブラウザが気になりますな。IE?IEならば、設定によってはJRE(SunのJava実行環境)ではなく、MicrosoftVMが動いていることがあります。MicrosoftVMは、Java2以降の技術を全く取り入れていない(と言うより取り入れられない)ので、Swingは動きませんよ。
補足
回答ありがとうございます。 ブラウザで動作させようとした際はIEです。 配布時にはかなり気をつけなければいけない点ですが、一応JREで動かしています。(タスクバーにJavaアイコン出てきますし) 何故動かないのかいろいろと調査してみた結果、java.net.HttpURLConnectionを用いたネットワークアクセス時にエラーが発生していました。アプリケーションから同一のコードを実行すると動くのですが、アプレットから動かそうとするとエラーになってしまいます。(eclipse上では動くのですが……)
- mizuno123
- ベストアンサー率47% (21/44)
SDKをインストールするときに、ブラウザのJVMを書き換えることがあります。 テストに用いているJVMは共通のものですか? 一度、最新のSDKをインストールしJVMをアップデートするのも手かもしれません。 (ただし害の無い、関係の無いマシンでテストしてくださいね) 的外れだったらすみません。
補足
回答ありがとうございます。JVMは確認してみましたが、ダメでした。 AppletViewerでもダメなので……
補足
回答ありがとうございます。 appletviewer実行コマンドを appletviewer -Djava.security.policy="D:\java\java.policy" xxx.html としてみたのですが、「サポートされていないオプション」と言われてしまいました。