bubble: Wert außerhalb ChangeListener

Beitrag lesen

Poste einfach mal die relevanten Stellen.
Hatte ich schonmal vorher gepostet. Hier sind ein paar Stellen, ich hoffe das sind alle wichtigen:

Nun ja, da hätte sich ja noch was ändern können.

final JSlider slider = new JSlider();
                slider.addChangeListener(new ChangeListener() {
                public void stateChanged(ChangeEvent arg0) {
                                grafik.d=slider.getValue();  // hier bringt er die NullPointerexception
                        }
                });

Also ist entweder grafik oder slider nicht initialisiert worden. slider ist es schon mal wegen final JSlider slider = new JSlider(); Also ist es vermutlich grafik.

Ich bin mir nicht 100%ig sicher ob slider überhaupt sichtbar für den ChangeListener ist. Ich würde für die Zuweisung grafik.d = ((JSlider)arg0.getSource()).getValue(); verwenden.

Dazu eine kleine Erklärung: ChangeEvent wird mit Daten gefüttert, was passiert ist. Unter anderem beinhaltet es eine Funktion namens getSource mit dem Rückgabetyp Object. Diese Rückgabe spiegelt das Objekt wider, bei welchem das Event gefeuert wurde, in deinem Fall kann es sich auschließlich um slider vom Typ JSlider sein, weil nur dieses am ChangeListener registriert wurde. Dadurch kann man so tun als ob arg0.getSource() einen JSlider zurück gibt: (JSlider)arg0.getSource(), und von jenem dann getValue() aufrufen.

(Die Event-Objekte werden für dich noch sehr interessant, wenn du mehrere Objekte (z.B. JButtons) mit einem EventListener abspeisen willst.)

Ganz oben steht dann noch "public Linien grafik" - Habe es im letzten Post falsch geschrieben. Habe es nicht "public Linien Linien" sondern "public Linien grafik" genannt.

So wie das formuliert ist, klingt es nach meiner Vermutung.

Die Lehrmethode deines Lehrer scheint mir total beschi... schlecht. (Erinnert mich an meinen > Info-Lehrer >.<)
Vielleicht hatten wir den selben :-D Im Unterricht haben wir noch nie mehrere Klasse erstellt und hier in der Aufgabe muss ich das jetzt machen.

Vermutlich nicht. Java war für meinen nur eine Insel >.<

MfG
bubble

--
If "god" had intended us to drink beer, he would have given us stomachs. - David Daye