Tastendrücke

cybren

Mitglied
Hallo folgendes Problem:
ich habe die ganz normale MouseClicked methode dadrin rufe ich
Java:
Screen.store.click(e.getButton());
auf Die Methode:
Java:
public void click(int mouseButton){
		if(mouseButton == 1){
			for(int i=0;i<button.length;i++){
				if (button[i].contains(Screen.mse)){
					if(buttonID[i]!= Value.airAir) {
					if (buttonID[i] ==Value.airThrashCan ){
					holdsItem = false;
					}else {
					heldID = buttonID [i];
					realID=i;
					holdsItem = true;
					
					}
					}
					}
				}
das funktioniert auch alles aber wenn ich eine Weitere Methode :
Java:
public void upgrade(int button){
	if(towerSquare.contains(Screen.mse)){
	if(button == 1){
				isGedrückt = true;
		}
		}
auch mit:
Java:
Screen.block.upgrade(e.getButton());
aufrufe bekomme ich eine nullPointerException beim Aufrufen. Warum? bei der einen geht´s und bei der andren nicht?

danke schonmal im vorraus :)
 

Ruzmanz

Top Contributor
In der Fehlermeldung müsste die Zeile stehen, wo der NPE geworfen wird. Wenn deine Variable null ist, kannst du keine Methoden aufrufen ... An Screen.block oder towerSquare wirds wohl liegen.
 

cybren

Mitglied
ja wie gesagt bei
Java:
MouseClick (MouseEvent e){
Screen.block.upgrade(e.getButton();
aber da die Variable e.getButton bei beiden gleich ist dürfte er keine NPE werfen oder?
 

Ruzmanz

Top Contributor
Screen.block ist NULL oder towerSquare ist NULL. Ist das deutlich genug? Das kannst du mit dem Debugger prüfen. Du kannst eine Zeile vorher auch den Variableninhalt ausgeben lassen (System.out.println(Screen.block) oder System.out.println(Screen.towerSquare)).
 

Neue Themen


Oben