重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

イメージアイコンを利用してイメージつきのボタンを作成したいのですが、
ボタン上にイメージが描画されません。
ソースは以下のとおりです。
import javax.swing.*;
import java.awt.event.*;
class Dtsess_trmer extends JFrame implements ActionListener
{
JButton img_btn;
ImageIcon imgic;
public static void main( String args[] )
{
String com = args[0];
String img = args[1];
String tit = args[2];
String mes = args[3];
Dtsess_trmer dt = new Dtsess_trmer(com,img,tit,mes);
}
Dtsess_trmer(String com,String img,String tit,String mes)
{
super(tit);
makeicon(img);
setting();
img_btn = new JButton(imgic);
getContentPane().add(img_btn);

}
public void setting()
{
setSize(200,200);
setVisible(true);
}
public void makeicon(String IMG)
{
imgic = new ImageIcon(IMG);
}
public void actionPerformed(ActionEvent AE)
{
}
}
コンパイルはとおります。どこが間違っているのでしょうか?

A 回答 (2件)

Javaはbmpをサポートしていません。


デフォルトで使えるのは、jpg、gif、pngの3種です。
ImageIconのドキュメントに明記されていないのでわかりにくかったと思います。
java.awt.ToolkitのgetImage()メソッドを参照してください。
    • good
    • 0

setting();をコンストラクタの最後にしてください。


通常、setVisible(true);を最後に置くのが決まりです。

(ちなみに、コンポーネントを動的に付けたり消したりするには、
Container.validate();を使う必要があります。)
    • good
    • 0
この回答へのお礼

setVisibleを最後にしましたが、やっぱりうまくいかなくて。。イメージのファイル形式をbmp→jpgに変えたらうまくいきました。うーん、ファイルの保存形式に依存するけどもコンパイル・実行時に特にエラーが出ないのは困ったものですね。結局なにが問題だったんでしょうかね。

お礼日時:2004/01/20 02:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!