Dubioser Nullpointer

DerKaefer

Mitglied
Ich habe ein dubioses Problem. Ich bekomme eine NullpointerException sobald ich anfange in der Klasse view die ActionListener wieder sichtbar zu machen. Bei dem ActionListener für halbe funktioniert es manchmal noch aber spätestens wenn ich den ActionListener für "eine" freigebe raucht er ab. Was kann das sein?

Java:
import java.awt.*;
import java.lang.Math.*;
import java.awt.event.*;

interface Notifier{
	public void notifyMe(String s, int i);
}

class Modell{
	public Modell(int x, int y, Notifier n){
		xLength=x;
		yLength=y;
		mNot=n;
	
	}
	public void zugInit(){
		this.xKord=new int[xLength];
		this.yKord=new int[yLength];
	}
	
	public void getNotification(String s, int i){
		mNot.notifyMe(s,i);
	}
	public void remake(){
		int[] tempX=new int[xKord.length];
		int[] tempY=new int[yKord.length];
		for(int i=1;i<xKord.length;++i){
			tempX[i-1]=xKord[i];
			tempY[i-1]=yKord[i];
			}
		tempX[xKord.length-1]=(int)((java.lang.Math.random())*400);
		tempY[yKord.length-1]=(int)((java.lang.Math.random())*400);
		xKord=tempX;
		yKord=tempY;
	}
	public void makeKord(){
	for(int i=0;i<xLength;++i){
		xKord[i]=(int)((java.lang.Math.random())*400);
		yKord[i]=(int)((java.lang.Math.random())*400);
		
	}
}

static int[] xKord;
static int[] yKord;
static int xLength;
static int yLength;
Notifier mNot;
int setSpeed=500;
Color c=new Color(0,0,0);
}


class View extends Frame{
	
	public View(Modell mod){
		super("StreckenZug");
		setSize(400,400);
		setVisible(true);
		this.mod=mod;
		MenuBar mBar=new MenuBar();
		Menu datei=new Menu("Datei");
		Menu speed=new Menu("Geschwindigkeit");
		Menu length=new Menu("Länge");
		Menu color=new Menu("Farbe");
		MenuItem stop=new MenuItem("0");
		stop.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				bridgeNotification("speed",0);
				}
			});
		MenuItem halbe=new MenuItem("0,5");
//		halbe.addActionListener(new ActionListener(){
//			public void actionPerformed(ActionEvent e){
//				bridgeNotification("speed",500);
//				}
//			});
		MenuItem eine=new MenuItem("1");
//		eine.addActionListener(new ActionListener(){
//			public void actionPerformed(ActionEvent e){
//				bridgeNotification("speed",1000);
//				}
//			});
		MenuItem sieben=new MenuItem("7");
//		sieben.addActionListener(new ActionListener(){
//			public void actionPerformed(ActionEvent e){
//				bridgeNotification("lange",7);
//				}
//			});
		MenuItem fuenf=new MenuItem("5");
//		fuenf.addActionListener(new ActionListener(){
//			public void actionPerformed(ActionEvent e){
//				bridgeNotification("lange",5);
//				}
//			});
		MenuItem zehn=new MenuItem("10");
//		zehn.addActionListener(new ActionListener(){
//			public void actionPerformed(ActionEvent e){
//				bridgeNotification("lange",10);
//				}
//			});
//		
		MenuItem gruen=new MenuItem("Gruen");
//		gruen.addActionListener(new ActionListener(){
//			public void actionPerformed(ActionEvent e){
//				bridgeNotification("farbe",2);
//				}
//			});
		MenuItem rot=new MenuItem("rot");
//		rot.addActionListener(new ActionListener(){
//			public void actionPerformed(ActionEvent e){
//				bridgeNotification("farbe",1);
//				}
//			});
		MenuItem blau=new MenuItem("Blau");
//		blau.addActionListener(new ActionListener(){
//			public void actionPerformed(ActionEvent e){
//				bridgeNotification("farbe",3);
//				}
//			});
		color.add(rot);
		color.add(gruen);
		color.add(blau);
		length.add(sieben);
		length.add(fuenf);
		length.add(zehn);
		speed.add(stop);
		speed.add(halbe);
		speed.add(eine);
		datei.add(speed);
		datei.add(length);
		datei.add(color);
		mBar.add(datei);
		setMenuBar(mBar);
	}
	public void bridgeNotification(String s, int i){
		mod.getNotification(s,i);
		}
	
	public void update(){
		repaint();
	}
		
	public void paint(Graphics g){
		g.setColor(mod.c);
		for(int i=1;i<mod.xKord.length;++i){
			g.drawLine(mod.xKord[i-1],mod.yKord[i-1],mod.xKord[i],mod.yKord[i]);
		}
		try{
			mod.remake();
			Thread.sleep(mod.setSpeed);		
			update();
			}
			catch(Exception e){}
			
				
		
	}

Modell mod;

	
}
class Control implements Notifier{
	public Control(){
	mod=new Modell(8,8,this);
	view=new View(mod);
	mod.zugInit();
	mod.makeKord();
	}
	
public void notifyMe(String s, int i){
		int value=i;
		String type=s;
		if(type=="speed")
			mod.setSpeed=i;
		if(type=="lange"){
			try{
			mod.xLength=value;
			mod.yLength=value;
			mod.zugInit();
			mod.makeKord();
			mod.setSpeed=1000;
			}
			catch(NullPointerException n){}
			}
		if(type=="farbe"){
			if(value==1)
			mod.c=new Color(255,0,0);
			if(value==2)
			mod.c=new Color(0,255,0);
			if(value==3)
			mod.c=new Color(0,0,255);
				
			
			}
			
	}

Modell mod;
View view;

}

public class UE8A2{
	public static void main(String[] args){
	Control con=new Control();
	}
}
 

eRaaaa

Top Contributor
Also den Code solltest du mal ein wenig aufräumen *g*
Denke nicht dass das was mit den Listenern zu tun hat:
Das Problem liegt wohl hier:
Java:
    @Override
	public void paint(Graphics g){
        g.setColor(mod.c);
        for(int i=1;i<mod.xKord.length;++i){    // <----

paint wird vermutlich zu früh aufgerufen.
Bzw im Control
Java:
    view=new View(mod);
    mod.zugInit();
Die Aufrufe könntest du erst einmal tauschen, dann könnte es auch helfen setVisible(true) ganz am Ende aufzurufen und in paint noch zusätzlich eine Abfrage einzubauen ob die Arrays auch wirklich nicht null sind!

EDIT: was mir gerade noch so ins Auge gestochen ist:
Java:
if (type == "speed")
http://www.java-forum.org/top-fragen/1350-vergleichen-strings.html :rtfm:
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Nullpointer beim befüllen meiner Liste im Object Java Basics - Anfänger-Themen 3
U Warum kriege ich hier eine nullpointer exception, sehe den Fehler nicht (swing) Java Basics - Anfänger-Themen 1
Dimax BufferedReader.readLine().length() wirft NullPointer Java Basics - Anfänger-Themen 6
AlexG. Nullpointer Exeption Java Basics - Anfänger-Themen 46
AlexG. Nullpointer exeption Fehler Java Basics - Anfänger-Themen 0
B EJB und Arquillian - bekomme Nullpointer Exception beim Aufruf der EJB Klasse Java Basics - Anfänger-Themen 40
D Warum die Nullpointer Exception Java Basics - Anfänger-Themen 6
F Referenz an ein Objekt in einer anderen Klasse erstellen(Nullpointer exception) Java Basics - Anfänger-Themen 6
N Nullpointer exception Java Basics - Anfänger-Themen 4
D Erste Schritte Java.lang.NullPointer.Exception Java Basics - Anfänger-Themen 8
Z Getter/Setter NullPointer Exception Java Basics - Anfänger-Themen 6
W Nullpointer Exception bei .add(...) Java Basics - Anfänger-Themen 6
J Nullpointer aber wo? Java Basics - Anfänger-Themen 12
B OOP Über einen AVL-Baum iterieren (NullPointer) Java Basics - Anfänger-Themen 5
F Operatoren Wieso fliegt hier eine NullPointer Exception :( Java Basics - Anfänger-Themen 3
F nullpointer exception - arrayerstellung Java Basics - Anfänger-Themen 4
K Nullpointer beim Erstellen eines Imageicons Java Basics - Anfänger-Themen 2
O Perfomance: Arraylist absichtlich zum Nullpointer schicken... Java Basics - Anfänger-Themen 16
S Iterator next() Nullpointer Java Basics - Anfänger-Themen 2
W Nullpointer bei Objekt Serialisierung mit ArrayList<byte[]> etc. Java Basics - Anfänger-Themen 2
R indexOf wirft NullPointer Exception Java Basics - Anfänger-Themen 2
Q CardLayout und NullPointer Java Basics - Anfänger-Themen 3
R NullPointer Exceptions Java Basics - Anfänger-Themen 3
P ArrayList Nullpointer? Java Basics - Anfänger-Themen 4
H Nullpointer Exception Java Basics - Anfänger-Themen 8
P NullPointer Exception Java Basics - Anfänger-Themen 6
C Erste Schritte GUI - ActionListener - Exception Nullpointer Java Basics - Anfänger-Themen 5
M TextField Nullpointer Exc Java Basics - Anfänger-Themen 8
C Java Nullpointer Exception in 2D-Spiel Snake Java Basics - Anfänger-Themen 8
N NullPointer Exception bei setSource (Audioplayer mit JMF) Java Basics - Anfänger-Themen 6
I Array - Nullpointer Ausnahme Java Basics - Anfänger-Themen 2
J Methoden in externer Klasse -> Nullpointer Exception Java Basics - Anfänger-Themen 9
J NullPointer bei ArrayList.add Java Basics - Anfänger-Themen 6
J Nullpointer Exception - Warum? Java Basics - Anfänger-Themen 9
C NullPointer Java Basics - Anfänger-Themen 3
D NullPointer bei ActionCommand in Array Java Basics - Anfänger-Themen 2
M Java3D TransformChanged nullpointer ??? Java Basics - Anfänger-Themen 2
K zufallszahlen in Array Speichern = Nullpointer exception Java Basics - Anfänger-Themen 24
X Nullpointer Fehler Java Basics - Anfänger-Themen 3
D Nullpointer Exception Java Basics - Anfänger-Themen 2
Developer_X NullPointer Exception ohne Sinn Java Basics - Anfänger-Themen 19
MEETyA NullPointer Exception - Sudoku Java Basics - Anfänger-Themen 2
R Probleme mit NullPointer beim Mp3 abspielen (JMF) Java Basics - Anfänger-Themen 21
D Nullpointer exception bei: if( (rc.getTower != null) ) {..} Java Basics - Anfänger-Themen 2
Antoras Nullpointer bei Wertübergabe Java Basics - Anfänger-Themen 10
Antoras Swing repaint und Nullpointer Java Basics - Anfänger-Themen 6
G NullPointer bei if anweisung Java Basics - Anfänger-Themen 14
Antoras NullPointer und Swing-Problem Java Basics - Anfänger-Themen 2
G (csv)Datei lesen FindBug findet mgl. NullPointer - wie lösen Java Basics - Anfänger-Themen 3
A g=panel.getGraphics() im Thread => Nullpointer Java Basics - Anfänger-Themen 9
G Problem mit Nullpointer Exception Java Basics - Anfänger-Themen 2
K Nullpointer Exception? Was tun? Java Basics - Anfänger-Themen 7
T KeyListener, Nullpointer und eine unbekannte Variable Java Basics - Anfänger-Themen 6
E Fehler NullPointer beim Ausführen Java Basics - Anfänger-Themen 4
E nullpointer bei BufferedImage Java Basics - Anfänger-Themen 2
R Wieder mal ne NullPointer Exception. Java Basics - Anfänger-Themen 8
D nullpointer exception Java Basics - Anfänger-Themen 12
S Arrays und Nullpointer Java Basics - Anfänger-Themen 6
D Problem mit Vector / Nullpointer Exception Java Basics - Anfänger-Themen 3
S Nullpointer Exception bei Point2D Java Basics - Anfänger-Themen 2
8 JLayer Nullpointer Exception Java Basics - Anfänger-Themen 6
megachucky kleines problem mit einer nullpointer exception Java Basics - Anfänger-Themen 2
B NullPointer... Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben