Hallo,
ich habe die Aufgabe aus einer Datei Koordinaten einzulesen (sind ca. 100.000 Stück) und diese dann zeichnen zu lassen. Dazu soll ich beim Einlesen die Koordinaten zuerst in einem Point-Objekt speichern. Die Datei sieht in etwa so aus:
Die erste Zahl gibt die Anzahl der Polygonzüge an, also 66, die zweite die Anzahl der Punkte beim ersten Zug, dann kommen die 11 Punkte, die nächste Zahl sind die Gesamtpunkte beim nächsten Poygonzug, dann kommen die 212 Punkte usw. Diese Koordinaten habe ich in ein pointArray[][] gespeichert und dort ist auch alles richtig (bin das mal mit ner Schleife durchgegangen).
Wenn ich nun zeichnen lassen will, hole ich mir einzeln die Point-Werte und speichere sie in int[] x, int[] y Arrays, um sie der Methode drawPoygon(int[] x, int[]y, int n) zu übergeben. Das sieht dann wie folgt aus:
Jeds mal wenn ich jetzt die Klasse ausführe erhalte ich bei [JAVA=5]int[] x = new int[pointArray[l].length];[/code] einen NullPointerExeption, weiß aber nicht wieso, da das Bild ja auch korrekt gezeichnet wird. Wenn ich die Kommentare von [JAVA=10]//System.out.println(x + " / " + y);[/code] wegnehme, funktioniert alles wunderbar. Dies kann ich mir nicht erklären.
Hat jemand eine Ahnung woran es liegen könnte?
Grüße
ich habe die Aufgabe aus einer Datei Koordinaten einzulesen (sind ca. 100.000 Stück) und diese dann zeichnen zu lassen. Dazu soll ich beim Einlesen die Koordinaten zuerst in einem Point-Objekt speichern. Die Datei sieht in etwa so aus:
Java:
66
11
467 191
467 191
467 191
467 191
467 191
467 191
467 191
467 191
467 191
467 191
467 191
212
547 152
547 152
547 152
547 152
547 152
547 152
......
Wenn ich nun zeichnen lassen will, hole ich mir einzeln die Point-Werte und speichere sie in int[] x, int[] y Arrays, um sie der Methode drawPoygon(int[] x, int[]y, int n) zu übergeben. Das sieht dann wie folgt aus:
Java:
public void paint(Graphics g) {
super.paint(g);
// Schreibt die Werte aus dem Point-Array in int-Arrays und zeichnet dann nacheinander die Polygonzüge
for(int l = 0; l < pointArray.length; l++) {
int[] x = new int[pointArray[l].length];
int[] y = new int[pointArray[l].length];
for(int i = 0; i < pointArray[l].length; i++) {
x[i] = (int) pointArray[l][i].getX();
y[i] = (int) pointArray[l][i].getY();
//System.out.println(x[i] + " / " + y[i]);
}
g.drawPolygon(x,y,pointArray[l].length);
}
}
Jeds mal wenn ich jetzt die Klasse ausführe erhalte ich bei [JAVA=5]int[] x = new int[pointArray[l].length];[/code] einen NullPointerExeption, weiß aber nicht wieso, da das Bild ja auch korrekt gezeichnet wird. Wenn ich die Kommentare von [JAVA=10]//System.out.println(x + " / " + y);[/code] wegnehme, funktioniert alles wunderbar. Dies kann ich mir nicht erklären.
Hat jemand eine Ahnung woran es liegen könnte?
Grüße
Zuletzt bearbeitet von einem Moderator: