F
finsti
Gast
Hallo Zusammen,
folgendes Problem:
Ein im Konstruktor erzeugtes Polygon ist innerhalb der paint methode nicht mehr vorhanden (null) und wirft
dort dann natürlich nullpointerexeption. ( siehe Bsp code Ausschnitt )
Frage:
Warum kann innerhalb von paint() nicht auf die Instanzvariable Polygon p1 der eigenen Klasse zugegriffen werden ?
( mit anderen Instanzvariablen geht es merkwürdigerweise, nur mit diesem Polygon nicht !. Also Objekt im Kontruktor erzeugen und in paint zugreifen )
Vielen Dank für Eure Hilfe
folgendes Problem:
Ein im Konstruktor erzeugtes Polygon ist innerhalb der paint methode nicht mehr vorhanden (null) und wirft
dort dann natürlich nullpointerexeption. ( siehe Bsp code Ausschnitt )
Frage:
Warum kann innerhalb von paint() nicht auf die Instanzvariable Polygon p1 der eigenen Klasse zugegriffen werden ?
( mit anderen Instanzvariablen geht es merkwürdigerweise, nur mit diesem Polygon nicht !. Also Objekt im Kontruktor erzeugen und in paint zugreifen )
Vielen Dank für Eure Hilfe
Code:
import java.awt.*;
public class ct
extends Frame
{
Polygon p1;
int[] arx = {50,50,80,90,80};
int[] ary = {100,140,140,120,100};
public ct()
{
setSize(800,600);
setLocation(100,100);
setBackground(Color.lightGray);
Polygon p1 = new Polygon(arx,ary,arx.length);
System.out.println("1 p1 = "+p1.npoints); // Test, polygon schein ok
}
public void paint(Graphics g)
{
//g.drawPolygon(arx,ary,arx.length); -> funktioniert
//System.out.println("1 p1 = "+p1.npoints); -> selbst das geht nicht, p1 ist null
g.drawPolygon(p1); // wirft null execption
}
public static void main(String[] args)
{
ct wnd = new ct();
wnd.setVisible(true);
//......
}
}