NetBeansで画像表示できない原因

このQ&Aのポイント
  • NetBeansで画像表示ができない原因について質問しています。
  • 質問者は「やさしいJava」という解説書のプログラムをNetBeans6.5.1で実行しているそうです。
  • 画像ファイルを表示させるためのプログラムを書いたが、アプレットビューアやHTMLには何も表示されないという問題が発生しています。
回答を見る
  • ベストアンサー

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
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

bmpではなく jpgかpng形式で画像を用意してみてはいかがでしょう 256色に減色してもいいのであればGIFという手もあります @Override public void paint(Graphics g) { int w = imgDuke.getWidth(); int h = imgDuke.getHeight(); g.drawString( w + " " + h, 30, 20 ); g.drawImage(imgDuke, 30, 40, this); } としてみましょう たぶん 『-1 -1』といった具合に表示されると思います

kumikomi29
質問者

お礼

回答有難う御座います。 まず、bmpではなくてpng形式の画像を使用し、paintメソッド内のコードを int w = imgDuke.getWidth(this); int h = imgDuke.getHeight(this); g.drawString( w + " " + h, 30, 20 ); g.drawImage(imgDuke, 30, 40, this); としたら、画像が読み込めた上、(30, 20)の位置に『512 512』(画像ファイルの大きさ)が表示されました。因みにbmp形式だと読み込めず、『-1 -1』になる事も確認しました。 getWidth及びgetHeightの実引数をthis(画像ファイル自身の幅と高さ)にする必要がありましたが、無事に解決しました。 本当に有難う御座いました。

関連するQ&A

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

    こんばんわ。 現在、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
  • 【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
  • 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); } }

  • ★Appletで画像読み込み&画像表示★

    import java.awt.*; import java.applet.*; public class S1 extends Applet { Image img; public void init() { img=getImage(getCodeBase(),"sample.jpeg"); } public void paint(Graphics g){ g.drawImage(img,50,50,this); } } 以上プログラムでアプレット上に拡張子がjpeg形式のsampleという100*100の画像を表示しようとしています。 クラス名はS1で問題なくエラーもありません。 java関連のサイトでも同じようにして画像が表示できるとされていたのですが、私のパソコンではアプレット上には何も表示されないまま、アプレットのみが起動するという状態になりました。 Eclipse SDKというものを使用していますが、それが原因なのかどうかもわからず困っています。 お手数をお掛けしますが、回答の程よろしくお願いします。

    • ベストアンサー
    • Java
  • 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アプレット関係の質問です。 Eclipseで「Sample_01.java」ファイルを作成します。→ コマンドプロンプトでコンパイルします。→ 作成した「Sample_01.class」ファイルをデスクトップに移動します→ HTMLファイルを開きます。 …この手順だと問題なくアプレットを表示できるのですが、 Eclipseで「Sample_01.java」ファイルを作成します。→ 「保管」します。→ ナビゲータービューから「Sample_01.class」ファイルを取りだします→ デスクトップに移動します。→ HTMLファイルを開きます。 …この手順だとなぜか×マークが表示されエラーになります。 繰り返しになりますが、どちらのファイルも名前・中身は全く同じものとなっています。コンパイルの方法が違うだけです。 なぜEclipseで自動作成された方のclassファイルだけエラー?が出たのでしょうか?エラーが出ない対策とかはありませんかね? Javaアプレットに詳しい方いましたら教えてください。 //一応ソース乗せておきます import java.applet.Applet; import java.awt.*; import java.awt.event.*; import java.util.*; public class Sample_01 extends Applet{ private static final long serialVersionUID = 1L; public void init(){ } public void paint(Graphics g){ g.drawRect(200,200,25,30); } }

  • さあ、表示だ!ってあれ~?

    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
  • 画像表示アプレットプログラムについて

    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 JDK5をインストールしました。 C:\Program Files\Javaに jdk1.5.0_06 jre1.5.0_06 がインストールされています。 コンパイルは、PATHにC:\Program Files\Java\jdk1.5.0_06\binを追加すれば、できるようになりました。 Javaアプレットの読み込みに失敗しました。のメッセージが表示されます。 // 図形の表示 import java.applet.*; import java.awt.*; public class Test_0002 extends Applet{ public void paint(Graphics g){ g.fillOval(0, 0, 200, 100); } }

    • ベストアンサー
    • Java
  • アプレットの動作テストができない

    Eclipseのメニュー→「実行」→「Javaアプレット」で、"HELLO"の文字を表示させるアプレットの動作テストしたんですが、エラーが出てしまいました。 エラー内容は以下の通りです。 -------------------------------------- この行に複数マーカーがあります。 - シリアライズ可能クラス Sample_01 は long 型の static final serialVersionUID フィールドを 宣言していません。 - ブレークポイント:Sample_01 ---------------------------------------- HTML上での動作テストは問題なくできるのですが、Eclipseでの動作テストは失敗します。なぜでしょうか? ソースはJava講座のHPの物なので、間違いないと思うのですが…。 //ソース import java.applet.Applet; import java.awt.*; import java.awt.event.*; import java.util.*; public class Sample_01 extends Applet{ //この部分に使用する変数を宣言// public void init(){ //ここで最初にやっておきたい処理を記述する// } public void paint(Graphics g){ g.drawString("HELLO!",200,200);//ここでアプレット画面に表示させる処理を記述する// } }

    • ベストアンサー
    • Java