[JAVA] Arrays in Objekten

deadzoneman

Lt. Junior Grade
Registriert
Jan. 2003
Beiträge
347
hi, bin grad dabei mir ne 2D-Map zu basteln, wobie ich aber nich auf SDL zurückgreifen will, weil ich mir einfach auf die weise Java anlernen will.
Dabei dachte ich daran (recht einfach und nich sicher perfomance schonend find ich) nen Image Array zu machen.

sieht ungefähr so aus, das wichtigste exportiert:
Code:
Image gras, wald, stadt;
Image img[][] = new Image[16][16]

...

	gras = getToolkit().getImage("D:/gras.jpg");
	wald = getToolkit().getImage("D:/wald.jpg");

...

		for (i=0; i<16; i++){
			for (j=0; j<16; j++){
						
				
				x = output.readChar();
				System.out.print(x);    //nur sicherheitsabfrage für mich, hier liest er nämlich 0 und 1 aus einer Datei aus
									
				if (x=='0') {img[i][j] = wald;}
				if (x=='1') {img[i][j] = gras;}
				
			}	


...


  public void paint( Graphics g )
  {
	   
		for (i=0; i<16; i++){
			for (j=0; j<16; j++){   
    g.drawImage(img[i][j],i*16+50,j*16+50,this);
			}
		}
  }


		}

Das hat auch alles einwandfrei gefunzt.

So nun wollte ich aber aus dem einzeln Image img nen ganzen Array-Objekt machen wie zum beispiel tiles, welches dann unter anderem Image img enthält.

Code:
public class tiles
{
   Image img;
}


anschleißend noch instanziert über

Code:
	 tiles tile[][] = new tiles[16][16];

Nun liegt aber das Problem darin, dass er mir 2x NullPointerExceptions raushaut. Einmal bei der Anweisung in der tiles[j].img = gras zuweist (bei wald zeigt er seltsamerweise irgendwie keinen fehler an)

zudem liegt zweite exception bei setVisbile(true);

Hat jemand ne Idee? Auf Anfrage poste ich noch den weiteren code, allerdings hat der wenig mit dem array tu tun. nur mouseevents und so.


UPDATE:

Habe inzwischen rausgefunden dass es auch egal ist ob er bei stadt, gras oder wald ne exception raushaut. Er stoppt einfach jedes Mal, sobald er beginnt die Datei auszulesen, beim ersten if/Datensatz. Also wird er irgendwie die Arrays nich korrekt einlesen können.
Wie liest man normalerweise arrays von objekten ein? Ich erkenne jetzt wirklich nich, was daran falsch is.
 
Zuletzt bearbeitet:
Zurück
Oben