現在、「やさしい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
というファイル構造になっています。
画像が表示されない原因の回答を是非お教え願います。
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』といった具合に表示されると思います
回答有難う御座います。
まず、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が見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
do while文のエラー??
-
ColabでのPytorchのエラー
-
Java swing RTFファイル 文字化...
-
「例外 *** は対応する try 文...
-
干支の計算で。。。
-
JavaでWindowsのタスクトレイに...
-
createImage()を使い コンパイル
-
アプレットが初期化されていま...
-
(急募)JavaカレンダーをGUI可に...
-
importするには java.io.*; imp...
-
正規表現について
-
Javaで常駐するソフトを作って...
-
JAVAサーブレット。 HTML...
-
(疑問+急募)Javaでフレーム入り...
-
(急募)Javaじゃんけんゲームで...
-
javaで質問です。 文字列2023/2...
-
[JAVA]try 内の変数を外で!?
-
オブジェクトの中のプロパティ...
-
変数を動的に利用するには?
-
byte型のマイナスの扱いについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
eclipseに記述したjavaファイル...
-
「例外 *** は対応する try 文...
-
<forEach> 内で供給された "ite...
-
importするには java.io.*; imp...
-
setAttribute(String, int)は適...
-
Javaを使ってデジタル時計を作...
-
ActionForm form にnullが入っ...
-
Selenium IDEでexportしたコー...
-
ColabでのPytorchのエラー
-
jFrameを使って複数の画面を生...
-
【JAVAエラー】互換性のない型...
-
importとextendsの用い方の違い...
-
干支の計算で。。。
-
python OpenPyXLを使って出力結...
-
シャットダウンフックが呼ばれない
-
ファイル名を動的に生成したい
-
Javaで常駐するソフトを作って...
-
(急募)JavaカレンダーをGUI可に...
-
フレームの×ボタンを押しても閉...
-
文字列を数式に
おすすめ情報