JFrameに画像を追加する方法を学ぼうとしています。私はGUIで十分ですが、なぜこれが機能しないのか理解できません。
不思議に思うかもしれませんが、複数の画像を作成できるように配列を設定しています。
(1)私の問題はgetClass()。getResource( "0.png");です。何らかの理由でこれは失敗し続けます。main(S ...)がオブジェクトGUIv1を作成しようとすると、image [0] ..... 0.png");で失敗します。
理由はわかりません。私は日食を使用しています。画像は、クラスが存在するデフォルトのパッケージに含まれています。テイクはありますか?
(2)ここでも何か問題があるようですが、それが最初の例外の原因ではないので、これについても回答をいただければ幸いです。
(コードフォントが間違っている場合はお詫びします。ここでは初めてです)。
import java.awt.*;
import javax.swing.*;
public class GUIv1 extends JFrame{
private static int tilesnum = 2;
private static ImageIcon[] image = new ImageIcon[tilesnum + 2];
private static JLabel[] imagepanel = new JLabel[tilesnum + 2];
public GUIv1() {
setLayout(new FlowLayout());
image[0] = new ImageIcon(getClass().getResource("0.png")); //HERE (1)
image[1] = new ImageIcon(getClass().getResource("1.png"));
image[2] = new ImageIcon(getClass().getResource("2.png"));
image[3] = new ImageIcon(getClass().getResource("3.png"));
for(int i = 0; i < tilesnum + 2; i++) {
imagepanel[i] = new JLabel(image[i]);
add(image[i]); //HERE (2)
}
}
public static void main(String[] args) {
GUIv1 selectorframe = new GUIv1();
selectorframe.setTitle("MapEditor v2");
//JFrame mainframe = new JFrame("MapEditor v2");
selectorframe.pack();
selectorframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
selectorframe.setVisible(true);
}
}