Normal
Also das was Du da machst, ist alles extrem wild durcheinander:Snake erbt von JFrame, aber dann wird das JFrame doch in einer Variable gehalten? Aber alles static?Prinzipiell wäre das mit dem addKeyListener(this) schon korrekt - wenn es ein this gäbe. Aber von der Klasse erstellst Du ja nie eine Instanz!Lösche als aller erstes bitte alle static aus Deinem Code - bis auf das eine bei public static void main! Und dann überlege Dir genau, was Du für Objekte haben willst und wo diese hin gehören. Main könnte eine Instanz von Snake erzeugen. Der Konstruktor erzeugt dann die Elemente, die dann Instanzvariablen (statt Klassenvariablen) sind. Und dann hast Du auch die Instanz von Snake, in der Du du bist und kannst daher dann auch das addKeyListener(this) machen.
Also das was Du da machst, ist alles extrem wild durcheinander:
Snake erbt von JFrame, aber dann wird das JFrame doch in einer Variable gehalten? Aber alles static?
Prinzipiell wäre das mit dem addKeyListener(this) schon korrekt - wenn es ein this gäbe. Aber von der Klasse erstellst Du ja nie eine Instanz!
Lösche als aller erstes bitte alle static aus Deinem Code - bis auf das eine bei public static void main! Und dann überlege Dir genau, was Du für Objekte haben willst und wo diese hin gehören. Main könnte eine Instanz von Snake erzeugen. Der Konstruktor erzeugt dann die Elemente, die dann Instanzvariablen (statt Klassenvariablen) sind. Und dann hast Du auch die Instanz von Snake, in der Du du bist und kannst daher dann auch das addKeyListener(this) machen.