実現したいこと
・ボタンに画像を表示したい
前提
JavaでGUIアプリケーションを作ってみようと思い、下記リンクを参考に製作をしました。
https://original-game.com/java-janken-game-program/
次はこれに画像を追加しようと思い、まずはボタンに画像とテキストを表示するコードを追加したのですが、画像が表示されません。
ソースコードを何度見直してもどこに問題があるかわからず困っています。
下記コードの問題点を指摘頂けると幸いです。
発生している問題・エラーメッセージ
ボタンにテキストと画像を表示したいが、画像が表示されない。
テキストは表示される
該当のソースコード
Java
1package jp.hoge.fuga.foo; 2 3(略) 4 5public class Main { 6 7 //プレイヤー側手配列 8 private static String[] hands = {"グー","チョキ","パー"}; 9 private static ImageIcon[] buttonHands = new ImageIcon[3]; 10 //初期化ブロック 11 { 12 buttonHands[0] = new ImageIcon("../../../../../img/image1.png"); 13 buttonHands[1] = new ImageIcon("../../../../../img/image2.png"); 14 buttonHands[2] = new ImageIcon("../../../../../img/image3.png"); 15 } 16 17(略) 18 public static void main(String[] args) { 19 //Main Window 20 JFrame frame = new JFrame("じゃんけんゲーム"); 21 frame.setSize(900, 650); 22 frame.setLocationRelativeTo(null); 23 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 24 frame.setResizable(false); 25(略) 26 //FooterPanel 27 JPanel footerPanel = PanelMaker.makePanel(Color.BLACK,900,200); 28 footerPanel.setLayout(new GridLayout()); 29 30 //ボタン生成 31 for(int i=0; i<hands.length; i++) { 32 JButton button = new JButton(hands[i],buttonHands[i]); 33 button.setFont(new Font("Meiryo", Font.PLAIN, 24)); 34 button.setHorizontalTextPosition(JButton.CENTER); 35 button.setVerticalTextPosition(JButton.BOTTOM); 36 button.addActionListener(new ButtonActionListener()); 37 footerPanel.add(button); 38 } 39 40 frame.add(footerPanel, BorderLayout.SOUTH); 41 42 frame.setVisible(true); 43 44 } 45(以下略)
試したこと
画像のパスに問題があるのかと思い、プロジェクトフォルダからの相対パスに変更してみましたが、解決しませんでした。
32行目を
Java
1JButton button = new JButton(buttonHands[i]);
にしたところ、ボタンには何も表示されませんでした。
ボタンのサイズに問題がある可能性も考え、footerpanelの高さを変えてみましたが、改善しませんでした。
補足情報(FW/ツールのバージョンなど)
開発環境はeclipseを使用しています。
Main.javaファイルと画像ファイルのフォルダ構造は下記の通りです。
プロジェクトフォルダ---src--jp---hoge---fuga---foo--Main.java
|
└--img---image1.png(以下image2.png及びimage3.pngも同じ)
よろしくお願いいたします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/10/20 17:26 編集
2023/10/20 18:16
2023/10/20 19:32 編集
2023/10/21 00:41
2023/10/21 05:03
2023/10/22 23:33
2023/10/23 04:42 編集