java problem ArrayOutOfBoundsException
Ska göra ett memoryspel i java. Har kommit så långt att jag vill testa att lägga ut korten på spelplanen men det blir inte som jag vill. Först och främst visas bara en enda stor blå bakgrundsruta trots att jag matar in att jag vill ha två rader och två kolumner i fönstret. Jag antar att de ArrayOutOfBoundsExceptionsen jag får är det som orsakar det hela. Koden ser ut såhär, värdena för setSize satte jag bara på måfå då jag inte riktigt vet hur man ska göra för att anpassa storleken på fönstret efter hur många rader och kolumner man vill ha i spelet.
Här är koden hur som helst
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class Memory extends JFrame {
public Memory() {
File bildmapp = new File("bildmapp");
File[] bilder = bildmapp.listFiles();
Kort[] k = new Kort[bilder.length];
String r = JOptionPane.showInputDialog("Ange antal rader: ");
String c = JOptionPane.showInputDialog("Ange antal kolumner: ");
Integer rad = Integer.parseInt(r);
Integer kol = Integer.parseInt(c);
setLayout(new GridLayout(rad,kol));
getContentPane().setBackground(Color.blue);
setSize(350,200);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
for(int i=0;i<bilder.length;i++){
Icon a=new ImageIcon("getPath(bilder[i])");
k[i]=new Kort(a);
}
this.nyttSpel(rad*kol,k);
}
public void nyttSpel(int n, Kort[] k){
Kort[] kFlt = new Kort[n];
Verktyg.slumpOrdning(k);
for(int i=0;i<n/2;i++){
kFlt[i] = k[i];
}
for(int i=0;i<n/2;i++){
Kort temp = kFlt[i];
temp.copy();
kFlt[i+n/2]=temp;
}
Verktyg.slumpOrdning(kFlt);
for(int i=0;i<n;i++){
add(kFlt[i]);
}
}
public static void main(String[] args){
Memory j = new Memory();
}
}