Hey, ich möchte auf einem JFrame ein 20 x 20 Raster erzeugen und jede Zelle mit dem selben Bild füllen (Das Bild ist vorhanden, auch im richtigen Verzeichnis). Folgenden Quellcode verwende ich:
Ich bekomme aber nur ein leeres Fenster. Warum?
Alternativ habe ich folgenden Quellcode:
PS: Die notwendigen Bibliotheken habe ich importiert.
Java:
public void start1()
{
JFrame f1 = new JFrame();
f1.setSize(500, 500);
f1.setLocation(20, 20);
for(int i = 0; i < 20; i++)
{
for(int e = 0; e < 20; e++)
{
int i1 = i;
int e1 = e;
f1.add(new Canvas() {
public void paint(Graphics g)
{
Toolkit t = Toolkit.getDefaultToolkit();
Image j = t.getImage("img/leer.png");
g.drawImage(j, i1*20, e1*20, this);
}
});
}
}
f1.setVisible(true);
}
Alternativ habe ich folgenden Quellcode:
Java:
public void start2()
{
JFrame f1 = new JFrame();
f1.setSize(500, 500);
f1.setLocation(20, 20);
JPanel p1 = new JPanel();
p1.setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.weightx = 20;
gbc.weighty = 20;
for(int i = 0; i < 20; i++)
{
for(int e = 0; e < 20; e++)
{
int i1 = i;
int e1 = e;
gbc.gridx = i1;
gbc.gridy = e1;
p1.add(new Canvas() {
public void paint(Graphics g)
{
Toolkit t = Toolkit.getDefaultToolkit();
Image j = t.getImage("img/leer.png");
g.drawImage(j, 0, 0, this);
}
},gbc);
}
}
f1.add(p1);
f1.setVisible(true);
}
Zuletzt bearbeitet: