
イメージアイコンを利用してイメージつきのボタンを作成したいのですが、
ボタン上にイメージが描画されません。
ソースは以下のとおりです。
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)
{
}
}
コンパイルはとおります。どこが間違っているのでしょうか?
No.2ベストアンサー
- 回答日時:
Javaはbmpをサポートしていません。
デフォルトで使えるのは、jpg、gif、pngの3種です。
ImageIconのドキュメントに明記されていないのでわかりにくかったと思います。
java.awt.ToolkitのgetImage()メソッドを参照してください。
No.1
- 回答日時:
setting();をコンストラクタの最後にしてください。
通常、setVisible(true);を最後に置くのが決まりです。
(ちなみに、コンポーネントを動的に付けたり消したりするには、
Container.validate();を使う必要があります。)
setVisibleを最後にしましたが、やっぱりうまくいかなくて。。イメージのファイル形式をbmp→jpgに変えたらうまくいきました。うーん、ファイルの保存形式に依存するけどもコンパイル・実行時に特にエラーが出ないのは困ったものですね。結局なにが問題だったんでしょうかね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Java java final 1 2022/06/10 22:49
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- Java 直し方について教えて頂きたいです。 4 2022/08/13 02:11
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- Java eclipse実行ができない 2 2022/07/27 04:47
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- Java javaのクラスの分け方について質問です。 APIの内部用と外部用でクラスを分けたいのですがインター 2 2022/04/26 16:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
イメージボタンを作成したいの...
-
C#で、あるクラスのメンバーす...
-
javaアプレット repaintのタイ...
-
キーリスナー
-
ピクチャボックスのクリックイ...
-
C#で、定数をフラグ(if文)に...
-
C# タスクバーを隠したフォーム...
-
C# 矢印キーの取得
-
コンボボックスを使う時の警告
-
大量のデータを読み込んで表示...
-
Java 他クラスの呼び出しが上手...
-
ボタンの複数割り当てについて
-
JSPやサーブレットでSystem.out...
-
InputStreamはreadが1回しかで...
-
【Java】再帰的なプログラムで...
-
System.err. printlnとSystem.o...
-
stderrとstdout
-
javaのパッケージについての質...
-
Vectorクラスの使い方
-
ランダムな英数字を発生させて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
大量のデータを読み込んで表示...
-
ボタンの複数割り当てについて
-
C#で、あるクラスのメンバーす...
-
C#で別のFormへ複数の値を返そ...
-
C# WinForm のDataGridView Cel...
-
C# visibleプロパティをfalseに...
-
C# 矢印キーの取得
-
C# MouseHoverを何度も呼ぶには
-
Junitテストでvoid戻り値メッソ...
-
C#でのWNetAddConnection3の使...
-
C#でキーイベントが発生しない...
-
C# DataGridView列カスタマイズ
-
C#から、C++で作成したdll内の...
-
画像ファイル操作方法
-
エンターキーを押すとOKボタン...
-
スレッド動かず
-
Java コレクション・ジェネリク...
-
なぜエラーになるのかがわかり...
-
マウスクリックで別のスレッド...
-
参照されない
おすすめ情報