Frage von Fighter1996x, 16

Könnte mir jemand bei dem Fehler bei Javafx setMouseOnClicked helfen?

Hallo, 

könnt ihr mir helfen bei dem Fehler:

 
 
 
 
  1. r[i][z].setOnMouseClicked(new EventHandler<MouseEvent>() {
  2.      public void handle(MouseEvent event) {
  3.     r[i][z].setFill(Color.ORANGE);
  4.                     }});

Das r[i][z].setFill(Color.Orange) wird unterstrichen und als Fehlermeldung steht dass ich es Final setzen soll, was ich nicht ganz verstehe wieso?

Ich möchte nur das sich die Farbe ändern, wenn ich auf das Viereck klicke.

Hier ist der ganze Code:

http://pastebin.com/wy7HLCQr

Ich bedanke mich jetzt schon für jede Hilfe

MfG Denis

Expertenantwort
von KnusperPudding, Community-Experte für Java, 16

Du kannst deinen Code nicht kompilieren?

Eigentlich sagt die Meldung ja schon alles aus.. du kannst in dem EventHandler nur finale Variablen ansprechen.

Du verweist allerdings immer auf die Referenz aus deiner Zweidimensionalen Array. - Stattdessen solltest du dein neues Objekt erstmal 'normal' deklarieren, und zwar  mit 'final' voran gestellt. 

Nachdem du deinem Objekt dann den Eventhandler angefügt hast, kannst du das Objekt danach in deine Array einfügen:

http://pastebin.com/WP0DZhhN

Kommentar von Fighter1996x ,

Hab die Antwort schon selbst herausgefunden, aber danke :)

Kommentar von KnusperPudding ,

Okay gut.

Keine passende Antwort gefunden?

Fragen Sie die Community