Javaでイメージを表示するには?

[上に] [前に] [次に]
ゆうき 1999/06/16(水) 12:25:19
Javaアップレットで、プロジェクトのあるフォルダ外にある、イメージファイルを表示させるには、ファイル名を書くところに、どのように書いたら良いのでしょうか。

B-Cus 1999/06/16(水) 12:49:09
> プロジェクトのあるフォルダ外にある、イメージファイル
とは具体的にどこですか? サーバ側? ローカル側? HTTPでファイルを取得できる?

アプレットはセキュリティの関係上、(CGIを噛ませるなど工夫しない限り)
サーバ側のコンテンツしか扱えません。

ゆうき 1999/06/16(水) 13:05:12
サーバや、ローカルといった用語が良くわからないのですが、自分のコンピュータ内のファイルです。

B-Cus 1999/06/16(水) 17:06:53
# まさかJavaじゃなくてJavaScriptというオチじゃないでしょうね?

要は画像を *.class と同じディレクトリに置けばいいです。
同じじゃなくてもHTTP経由で画像を見られればOKです。

B-Cus 1999/06/16(水) 17:27:57
ああ、どう書くかがわかんないのね。
 Image img = getImage(getDocumentBase(),"hoge.gif");
とか
 Image img = getImage(getDocumentBase(),"dir/hoge.gif");
とか
 Image img = getImage(getDocumentBase(),"../dir/hoge.gif");
てな感じでいいんじゃない。動くかどうかは確かめてません。

ゆうき 1999/06/17(木) 14:04:23
見るのが遅くなってごめんなさい。
かなり初心者で良く理解できないので、最初から説明します。

Visual J++ を使ってJavaアプレットを書いています。
Class と同じディレクトリに、HTMLファイルが入っています。
その1つ上のディレクトリにイメージファイルがある場合、
Image img=getImage(getDocumentBase(),"");
の "" の中にはどのように記述すれば良いのですか。
同じディレクトリ内に置けば、できるのはわかりましたが、
わざと違うディレクトリに置いた場合にはどうなるのか、
教えてください。よろしくお願いします。

hiro-kim 1999/06/17(木) 19:42:28
・JavaアプレットとJavaアプリケーションとの動作環境の違い
・URLとはなにか
・絶対pathと相対pathの違い

以上の前提知識がおありなら,

・Visual J++ の ヘルプ → キーワード で Applet.getImage の書式を調べる

と解答が書いてあります。

このあたりの前提知識があやふやならば,まず先にそちらを解決すべきでしょう。

ゆうき 1999/06/18(金) 11:41:18
hiro-kimさんの言った前提知識は、調べて大体わかったつもりですが、
ファイルパスの書き方がおかしいのか、出来ませんでした。

例えば、
HTMLファイルが F:\Java\ にあり、
イメージファイルが F:\Test\ にある場合には、
img=getImage(getDocumentBase(),"..\\Test\\ファイル名")
という風に書いたのですが、イメージが表示されませんでした。

どのように変えれば良いのか教えてください。

B-Cus 1999/06/19(土) 06:44:21
えっと、役に立たんフォローですいませんが、
> img=getImage(getDocumentBase(),"..\\Test\\ファイル名")
確かにできませんね。
 img=getImage(getDocumentBase(),"../Test/ファイル名")
もダメなようで。getDocumentBase()はURLクラスのインスタンスを返すので、
 URL image_url;
として適当なURLを与えて
 img=getImage(image_url,"ファイル名")
とするのがいい…のかな?

exon 1999/06/23(水) 02:31:52
たしか、ふたつの引数をひとつに合わせて解釈するのじゃなかったでしたっけ。
getDocumentBase() と "../test/file.gif" をくっつけたってだめですよ。
それより第一引数をいじって、"file.gif" をくっつければいい。

ゆうき 1999/06/23(水) 11:20:05
第一引数をいじるというのは、具体的に、
どのようなことをすれば良いのでしょうか?

[上に] [前に] [次に]