• ベストアンサー

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

こんばんわ。 現在、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を使っています。 お手数おかけしますが、ご教授の程よろしくおねがいします。

  • Java
  • 回答数3
  • ありがとう数2

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

  • ベストアンサー
  • 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
質問者

補足

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

関連するQ&A

  • appletの画像が表示されない

     画像を表示するappletを作ったんです。  コマンドのappletviewerでは確認出来るんですが、IEでは何故か表示されません。何故なんでしょう?  WINXP/IE6.0.2600です。  以下にコードを記述します。 import java.awt.*; import java.applet.*; public class test extends Applet {  Image img;  public void init() {   img = getImage(getDocumentBase(), "test.PNG");  }  public void paint(Graphics g) {   g.drawImage(img, 10, 10, this);  } }

    • ベストアンサー
    • Java
  • 画像表示アプレットプログラムについて

    Javaのプログラムを勉強中です。 javaを理解するために下記のプログラム(zukei.java)を作成しました。 このプログラムを実行(appletviewer zukei.java)すると エラーにはなりませんが、(3)の行により画像("b.jpg")がすぐには表示されません。表示されたWindowにほかのWindowをいったんのせてから動かすと(3)行により画像"b.jpg"が表示されます。 (1)(2)の行は最初からうまく動作して表示されます。 もちろん(3)のappletをthisにするとうまく動作します。 理由がわかりません。 どなたかご教授ください。 プログラム zukei.class *<APPLET CODE="zukei.class" WIDTH=500 HEIGHT=500></APPLET> */ import java.applet.*; import java.awt.Graphics; import java.awt.*; public class zukei extends Applet { Applet applet; Image myimage; int iKai; public zukei(){ applet = this.applet; } public zukei(Applet applet) { this.applet = applet; } public void init(){ iKai = 0; myimage = getImage(getDocumentBase(),"b.jpg"); } public void paint(Graphics g) { kaku(); //(1) g.drawArc(100,150,50,50,0,360); //(2) g.drawImage(myimage,10,300,180,180,applet); //(3) } public void kaku(){ System.out.println("ABC" + iKai++); } }

  • 【Java】画像表示が出来ない!

    Java初心者です。 Eclipseを使って、Javaアプレットでjpeg画像を表示させようとしたのですが、上手くいきません。表示したい画像をインポートして、このようなコードを書きました。 import java.applet.Applet; import java.awt.*; /* <applet code="クラス名.class" width="497" height="600"> <param name="img" value="img/test.jpg"> </applet>*/ public class クラス名 extends Applet { Image img; public void init() { img = getImage(getDocumentBase() , getParameter("/test.jpg")); } public void paint(Graphics g) { g.drawImage(img , 0 , 0 , this); } } Javaアプレットで実行しても、アプレットは真っ白なままです。GIF画像でも試してみましたが、同じく失敗でした。他のJavaアプレットのプログラム(図形を表示したり)は成功したので、私のパソコンのJavaは問題ないと思います。回答よろしくお願いします。

    • ベストアンサー
    • Java
  • NetBeansによる画像の表示

    現在、「やさしいJava」(SOFTBANK Publishing)という解説書のプログラムをNetBeans6.5.1で実行しながら勉強しています。 package sa16_03; import java.applet.Applet; import java.awt.Graphics; import java.awt.Image; public class Applet16_03 extends Applet { Image imgDuke; @Override public void init() { imgDuke = getImage(getDocumentBase(), "DukeWithHelmet.bmp"); } @Override public void paint(Graphics g) { g.drawImage(imgDuke, 30, 40, this); } } 上記のソースはDukeWithHelmet.bmpという画像ファイルを表示させる為のプログラムなのですが、アプレットビューア及びHTMLには何も表示されませんでした。 http://okwave.jp/qa4366603.htmlの回答例に従って、paintメソッド内に g.drawString( getDocumentBase().toString(), 10, 50 ); を付与して再度アプレットビューアを起動したら、 file:/C:/NetBeansProjects/SOFTBANK/Easy/Lesson16/Sample16/build/Applet16_03.html と表示されました。 getDocumentBase()メソッドはアプレットを起動するHTMLファイルの場所をURLで返すので、DukeWithHelmet.bmpもApplet16_03.htmlと同じ場所に置いています。 尚、関係がありそうなファイル構造は以下のようになります。 C:\NetBeansProjects\SOFTBANK\Easy\Lesson16\Sample16 までは一本道で、Sample16以下は ┳build┳classes━sa16_03━Applet16_03.class ┃    ┣DukeWithHelmet.bmp ┃    ┗Applet16_03.html ┗src ━sa16_03━Applet16_03.java というファイル構造になっています。 画像が表示されない原因の回答を是非お教え願います。

    • ベストアンサー
    • Java
  • JavaAppletのプログラム添削をお願いします

    初心者です。宜しくお願いします。 JAVA Appletで、クリックするたびに画像が変わるものを作りたいのですが、上手くいきません。 プログラムの添削をお願い致します。 JAVA Appletを利用し、画面をクリックするたびに画像が変わるアプリを作りたいのですが、上手くいきません。 ※コンパイルは通るのですが、実行しても何も表示されません。 [参考URL]http://www.geocities.jp/supermisosan/javastudy/mousechange.html この、画像を変えただけのものを作れればOKです。 以下、今私の書いたプログラム内容です。 書いたと言っても、コピペして部分部分を変えただけですが‥。 【click.java】 import java.applet.*; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class click extends JApplet implements MouseListener { Image siro,kiiro,aka2,img; int x=0; Image image[]=new Image[5]; Graphics g; public void init() { addMouseListener(this); image[0]=getImage(getDocumentBase(),getParameter("siro.gif")); image[1]=getImage(getDocumentBase(),getParameter("kiiro.gif")); image[2]=getImage(getDocumentBase(),getParameter("aka2.gif")); image[3]=getImage(getDocumentBase(),getParameter("aka2.gif")); image[4]=getImage(getDocumentBase(),getParameter("aka2.gif")); setBackground(Color.white); } public void paint(Graphics g) { g.drawImage(image[x],0,0,this); } public void mouseClicked(MouseEvent me) { x++; if(x==5) x=0; repaint(); } public void mouseEntered(MouseEvent me) { } public void mouseExited(MouseEvent me) { } public void mousePressed(MouseEvent me) { } public void mouseReleased(MouseEvent me) { } } 【click.html】 <html> <head> <title>test applet</title> </head> <body> <applet code="click.class" width=500 height=500> </applet> <hr> <a href="click.java"> source file </a> </body> </html> 何が足りないのでしょうか? 勉強不足ですみません、宜しくお願い致します!!

  • JAVAの文法について教えてください。

    JAVAを学習しはじめたばかりの初心者です。 下記のプログラムに関してわからないので教えてください。 下記はtest.gif画像を表示するプログラムなのですが、 イメージを表示するために import java.awt.Graphicsをインポートして、 Image im でオブジェクトを宣言するのはわかるのですが、 通常はこの後に im = new Image() のようにインスタンス化する必要があると思うのですが、 このプログラムにはありません。 なぜ不要なのでしょうか? ********************** import java.applet.Applet; import java.awt.Graphics; import java.awt.Image; public class MyImage extends Applet{ Image im; public void init(){ im = getImage( getDocumentBase(), "test/test.gif" ); } public void paint(Graphics g){ g.drawImage( im ,10,10, this); } }

    • ベストアンサー
    • Java
  • javaで画像出力

    javaでプログラムを書いて画像をGIF、JPG、BMPなどの形式で表示させたいのです。 appletでは下記のプログラムで円を表示することができたので、これを他の形式で表示する方法を教えて下さい。 import java.applet.*; import java.awt.*; public class Sample1 extends Applet { public void paint(Graphics g) { g.fillOval(120,40,70,50); } }

  • インターネット上の画像をJavaで処理する方法について

    こんにちは! いつもお世話になってます(^^) mkimさんのおかげでマウスでブラウザ(IE5.0)上の灰色の部分の座標値を得ることはできました(^o^) 私の質問 http://oshiete1.goo.ne.jp/kotaeru.php3?q=77352 しかし、その灰色の部分に画像を貼り付け、その画像の座標値を得たいのですが、画像をうまく貼り付けることができません。 javaファイルのと同じディレクトリにあるローカルな画像は貼り付けて座標値を得ることができたのですが、インターネット上にある画像を貼り付けることができませんでした。 最終的にはライブカメラの画像を貼り付けようと考えているので、これができないと先に進むことができません。 誰かご存知でしたら教えてください(^^) わかりにくい質問でごめんなさいm(__)m 一応、うまくいかなかったjavaファイルを載せておきます。 // My_Image03.java import java.awt.Graphics; import java.applet.Applet; import java.awt.Image; public class My_Image03 extends Applet { Image im; public void init() { im = getImage(getDocumentBase(), "http://www.honda.co.jp/image/b_hmark.gif"); } public void paint(Graphics g) { g.drawImage(im, 10, 10, this); } } 構文が間違っているのでしょうか? 回答、お待ちしております(^o^)丿

    • ベストアンサー
    • Java
  • イメージの表示に関して教えてください。

    画像を表示するアプレットです。 ボタンをクリックすると、二つの画像を交互に変換して、表示するプログラムを作りたいのですが、よく出来ません。 どうすれば、画像を変換できますか?また、「この部分はこうした方がいい」という部分があれば教えてください。 どうか、よろしくお願いします。 (スペースが表示されない・・・(^^ゞ) ***********************************************ImageDemo.java********* import java.awt.*; import java.applet.*; import java.awt.event.*; //<applet code=ImageDemo.class width=470 height=623></applet> public class ImageDemo extends Applet{ View view; Image image,image2; Panel panel_left,panel_right; Button buttonChange; boolean flag; public void init(){ flag = true; image = getImage(getDocumentBase(),"nagasaku.jpg"); image2 = getImage(getDocumentBase(),"kawamura.jpg"); view = new View(image); buttonChange = new Button("Button Change"); buttonChange.addActionListener(new myActionListener()); add(view); add(buttonChange); } class myActionListener implements ActionListener{ public void actionPerformed(ActionEvent ae){ Object obj = ae.getSource(); if(obj == buttonChange){ if(flag){ view = new View(image2); flag = false; } if(!flag){ view = new View(image); flag = true; } } } } } //////////////////////////////////////////////// class View extends Canvas{ Image image; View(Image image){ this.image = image; setSize(358,623); } public void paint(Graphics g){ g.drawImage(image,0,0,358,623,this); } }

    • ベストアンサー
    • Java
  • さあ、表示だ!ってあれ~?

    import java.awt.*; import java.applet.*; public class S1 extends Applet {       Image img;       public void init()       {             img=getImage(getCodeBase(),"image/sample.jpeg");       }       public void paint(Graphics g){             g.drawImage(img,50,50,this);             g.drawString("Hello!",10, 10);       } } というプログラムでアプレットビューアを呼び出すことに成功! がしかし、Hello!という文字は表示できたものの画像が処理されません。。; 他にもColorやrepaint()を用いて背景に色を設定したり、変えたりすることもできました! でも、何回やっても画像が表示されません。 原因を教えてもらうとありがたいです。 ちなみに、関係のありそうなファイル状況を説明します↓ Dドライブ━プロジェクトファイル┳imageファイル━sample.jpeg                      ┣srcファイル━S1.java                    ┗binファイル┳S1.class                            ┗java.policy.applet

    • ベストアンサー
    • Java