- - PR -
getImageでは、ファイルの有無を判断できない?
1
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-08-04 02:24
Frameに画像を表示するテストプログラムを作りました。
以下がコードです。 import java.awt.*; import java.awt.event.*; class Test extends Frame { private Image pattern; public static void main(String[] args) { Test test = new Test(); test.setSize(150, 150); test.setVisible(true); } Test() { pattern = getToolkit().getImage("Test.jpg"); if(pattern == null) { System.out.println("エラーです"); } } public void paint(Graphics g) { g.drawImage(pattern,50, 50, this); } } このプログラムは、画像ファイルがあるときは正しく表示しますが、 画像ファイルが無くてもエラーになりません。 どうも、getImageは、画像が無くてもImageのインスタンスを返すようです。 ファイルの有無はgetImageでは判断できないのでしょうか? 無理だとしたら、もっとも簡単にファイルの有無を判断する方法は どのようなコードになるでしょうか。 どなたか、定石のようなものをお知りなら教えてください。 お願いします。 | ||||||||
|
投稿日時: 2003-08-04 09:12
おはようございます。
確かにgetImageはファイルの有無に関係なくインスタンスを返してしまいますね。 ファイルの有無の判断にはいくつか方法があると思いますが、自分が考えたのは g.drawImage の戻り値を見る方法です。 描画成功時true, 失敗時にはfalseが戻りますので、これで判別できます。 ただし、描画が完了しないとtrueが返らないので、判断にタイムラグが出る欠点があります。 | ||||||||
|
投稿日時: 2003-08-04 09:21
一般的にはファイルの取扱いはjava.io.Fileクラスを使用します。 ファイルの有無の確認は次のようになります。
| ||||||||
|
投稿日時: 2003-08-04 09:27
こんにちわ。いつもお世話になっております。
簡単かどうかわかりませんが
でしょうか。わざわざFileオブジェクトを生成しないといけませんが [ メッセージ編集済み 編集者: ゆう 編集日時 2003-08-04 09:33 ] | ||||||||
|
投稿日時: 2003-08-04 09:31
Wataさんとかぶってしまいましたね;sweat;
| ||||||||
1
