• ベストアンサー

画像を表示させるプログラム

こんばんわ。 現在、Javaで画像を表示させるアプレットを作っているのですが、画像が表示されません。 書いたソースは以下です。 import java.applet.Applet; import java.awt.*; /* <applet code="Panel.class" width="497" height="600"> </applet> */ public class Panel extends Applet { Image data; public void init() { data = getImage(getDocumentBase(),"2-1.gif"); } public void paint(Graphics g) { g.drawImage(data, 0, 0, data.getWidth(this), data.getHeight(this), this); } } 2-1.gifという画像ファイルを表示させたいと思っています。画像ファイルはソースファイルと同じディレクトリにあります。appletviewerで実行しているのですが画像がさっぱり表示されません。 SDKのバージョンは1.5を使っています。 お手数おかけしますが、ご教授の程よろしくおねがいします。

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

  • ベストアンサー
  • Gishi
  • ベストアンサー率57% (11/19)
回答No.3

Javaでは、イメージの読み込みに失敗したときは、 何の例外も投げられず、 何のエラーメッセージも表示されず、 単にイメージが描かれないという仕様になっています。 イメージの読み込みに失敗する主な原因は: ・「2-1.gif」というファイルが存在しない。  あるいは正しい位置にファイルが置かれていない。 ・セキュリティやパーミッションのせいでファイルを読めない。 ・「2-1.gif」が画像ファイルではない。  あるいはJavaでサポートされていない画像形式である。 画像が正しくロードされたかチェックするには checkImage()メソッドを使います。 if ((checkImage(data,this) & ERROR) != 0) { // 画像の読み込みに失敗した }

koenzaimuq10
質問者

お礼

画像が読み込めていないようでした。 画像の保存形式をJPGに変換したところ表示されるようになりました。 Javaでgifはサポートされていないということだったのでしょうか、どちらにしろ表示されるようになってよかったです、ありがとうございました。

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

>クラス名を変えてみましたが すみません、実際に試してみましたが、クラス名は直接関係ないみたいです。 ウチの環境では、問題なく表示されました。 また、推測なんですが、ファイルが読めていないのだと思います。

koenzaimuq10
質問者

補足

ファイルが読み込めていないようでした。 ご指摘ありがとうございました

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

おそらく、クラス名のPanelが悪い(ブッキングする)のではないかと思います。 例えば ImageViewなどと名前を変えてみては?

koenzaimuq10
質問者

補足

クラス名を変えてみましたが やはり画像は表示されないようです。 わざわざご回答ありがとうございました。