場所取り そのうち引っ越すかも http://maglog.jp/gltest/
× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
いまどき Applet なんてやってる人少ないみたいだけど、個人的にかなり苦労した点についてメモしておく。
Applet クラスは getImage とか getAudioClip というメソッドを持っていて、 Applet が置かれているのと同じサーバにあるリソースファイルをロードできるようになっている。ファイルの保存や、他のサイトのファイルへのアクセスは、セキュリティ上の理由からできない。 Java のコンパイル済みオブジェクトはクラス単位のファイルに分かれるため、プログラムの規模が大きくなるとクラスファイルの数が膨大になるという特徴がある。これを一つにまとめる方法が Jar ファイルで、複数のファイルをまとめて圧縮しつつ、解凍なしで実行できるというものだ。 となると、プログラム内で使っている画像や音声などのリソースも、 Jar ファイルにまとめたいと思うのが自然な流れだ。特に Web 上で公開する Applet だと、一つひとつのリソースファイルの為に一々 http コネクションを開くのは無駄なトラフィックを増やすからして、全ての関連ファイルを一つにすることでロード時間の短縮が見込まれる。 だが、そうすると Applet から getImage などのメソッドを使ったアクセスが普通にはできなくなる。具体的には getImage(getCodeBase(), fname); のような呼び出しが上手くいかない。ローカルで file:// のアクセスなら上手くいくのに、 http だとダメだという理不尽な動作をする。 これを解決するには、次のようにする。 try{ なんだかよくわからないが、 jar プロトコルみたいなものの中に http URL を記述しなければならないようだ。 この例で url という文字列の中身はこんなふうになる。 jar:http://gltest.bufsiz.jp/Kashiwamochi063/Kashiwamochi.jar!/images/a.gif 以下にこの方法でひとつの Jar ファイルにまとめた Applet のサンプルを示す。 Version 0.63
ソース PR |
カレンダー
フリーエリア
最新コメント
最新記事
(10/03)
(09/16)
(07/12)
(06/11)
(06/01)
最新トラックバック
ブログ内検索
最古記事
(09/09)
(09/17)
(09/27)
(10/11)
(02/20)
アクセス解析
|