Moin, in meinem programm wird in diesem stück:
ein Himm Objekt pro Feld erzeugt
nun bekomme ich in der Himm klasse in diesem teil genauer schon bei wandw.drawLine
eine
hier noch der gesammte code in Himm:
Weiß nicht warum da nicht gezeichnent wird. Achja, das zeichnen mach ich auf einen JPanel mit Borderlayout aber das sit glaub ich erstmahl belanglos für die nullPointerExeption
Würde mich um Hilfe freuen
Java:
wand = new Himm[array1][array2];
for( int j = 20 - feldim;j<hoehe;) { // durchlaufen der spalten
j +=feldim;
for (int k = 10 - feldim; k < breite;) { // durchlaufen der zeilen
k +=feldim;
wand[k][j] = new Himm(k, j);
}
}
nun bekomme ich in der Himm klasse in diesem teil genauer schon bei wandw.drawLine
Java:
if(n==true) {
wandn.drawLine(x, y, x, y+Labyrinth.feldim);
}
if(o==true) {
wando.drawLine(x, y+Labyrinth.feldim, x+Labyrinth.feldim, y+Labyrinth.feldim);
}
if(s==true) {
wands.drawLine(x+Labyrinth.feldim, y, x+Labyrinth.feldim, y+Labyrinth.feldim);
}
if(w==true) {
wandw.drawLine(x, y, x+Labyrinth.feldim, y);
}
Code:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at System.Himm.<init>(Himm.java:89)
Java:
/*
* created 11.02.2019
*/
package System;
import java.awt.*;
import Gui.*;
import Gui.Dialog;
/**
* @author ma5761
*
*/
public class Himm {
boolean n, o, s, w;
int x,y;
int rand;
int wandwa = Dialog.getWandwa();
// int wandwa =50;
int feldim = Labyrinth.getFeldim();
// Graphics2D wand;
Graphics wandn,wando,wands,wandw;
/**
*
*/
public Himm(int x, int y) {
this.x=x;
this.y=y;
rand = (int) (Math.random() * 100);
if (rand < wandwa) {
n = true;
n = false;
}
rand = (int) (Math.random() * 100);
if (rand < wandwa) {
o = true;
o = false;
}
rand = (int) (Math.random() * 100);
if (rand < wandwa) {
s = true;
s = false;
}
rand = (int) (Math.random() * 100);
if (rand < wandwa) {
w = true;
w = false;
}
rand = (int) (Math.random() * 100);
if (x == 20) {
n = true;
}
rand = (int) (Math.random() * 100);
if (x == 20 && y == 10) {
n = true;
w = true;
}
rand = (int) (Math.random() * 100);
if (x == 20 && y == 950 - Labyrinth.feldim) {
n = false;
o = true;
}
rand = (int) (Math.random() * 100);
if (x == 560 - Labyrinth.feldim) {
s = true;
}
rand = (int) (Math.random() * 100);
if (x == 560 - Labyrinth.feldim && y == 10) {
s = false;
w = true;
}
rand = (int) (Math.random() * 100);
if (x == 560 - Labyrinth.feldim && y == 950 - Labyrinth.feldim) {
o = true;
s = true;
}
rand = (int) (Math.random() * 100);
if (y == 10 && x > 20 && x < 560 - Labyrinth.feldim) {
w = true;
}
rand = (int) (Math.random() * 100);
if (y == 950 - Labyrinth.feldim && x > 20 && x < 560 - Labyrinth.feldim)
s = true;
// this.paint(null);
if(n==true) {
wandn.drawLine(x, y, x, y+Labyrinth.feldim);
}
if(o==true) {
wando.drawLine(x, y+Labyrinth.feldim, x+Labyrinth.feldim, y+Labyrinth.feldim);
}
if(s==true) {
wands.drawLine(x+Labyrinth.feldim, y, x+Labyrinth.feldim, y+Labyrinth.feldim);
}
if(w==true) {
wandw.drawLine(x, y, x+Labyrinth.feldim, y);
}
}
// public void paint(Graphics g) {
// if(n==true) {
// g.drawLine(x, y, x, y+Labyrinth.feldim);
// }
// if(o==true) {
// g.drawLine(x, y+Labyrinth.feldim, x+Labyrinth.feldim, y+Labyrinth.feldim);
// }
// if(s==true) {
// g.drawLine(x+Labyrinth.feldim, y, x+Labyrinth.feldim, y+Labyrinth.feldim);
// }
// if(w==true) {
// g.drawLine(x, y, x+Labyrinth.feldim,y);
// }
// }
public boolean getHimmN() {
return n;
}
public boolean getHimmO() {
return o;
}
public boolean getHimmS() {
return s;
}
public boolean getHimmW() {
return w;
}
public boolean setHimmN() {
if(n==true)
n=false;
else n=true;
return n;
}
public boolean setHimmO() {
if(o==true)
o=false;
else o=true;
return o;
}
public boolean setHimmS() {
if(s==true)
s=false;
else s=true;
return s;
}
public boolean setHimmW() {
if(w==true)
w=false;
else w=true;
return w;
}
}
Weiß nicht warum da nicht gezeichnent wird. Achja, das zeichnen mach ich auf einen JPanel mit Borderlayout aber das sit glaub ich erstmahl belanglos für die nullPointerExeption
Würde mich um Hilfe freuen