Ich habe ein Stück Code, das dies tut:java: Action Variable enthält Aktion selbst zu ändern - ‚Variable möglicherweise nicht initialisiert wurden‘
erstellt eine Action
ein. Entfernt sich von der Taste, an der es angebracht wird (siehe 2.)
b. Gibt es einige andere Sachen
fügt hinzu, dass Action auf eine Schaltfläche
(in Code :)
ActionListener playButtonActionListener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent ae) {
playButton.removeActionListener(playButtonActionListener);
// does some other stuff
}
};
playButton.addActionListener(playButtonActionListener);
Beim Übersetzen Java berichtet Zeile 4 als Fehler (variable playButtonActionListener might not have been initialized)
und weigert sich zu kompilieren. Dies liegt wahrscheinlich daran, dass playButtonActionListener nicht vollständig bis zur schließenden Klammer initialisiert wird und removeActionListener(playButtonActionListener)
nach der Initialisierung von playButtonActionListener ausgeführt werden muss.
Gibt es eine Möglichkeit, das zu beheben? Muss ich die Art, wie ich diesen Block schreibe, komplett ändern? Oder gibt es eine Art @
Flag oder eine andere Lösung?
Und ja, es ist ** ** ein Duplikat, trotz allem, was Sie geschrieben (was ich entfernt) . –
Das ist wahr; aber es war nicht genau ein Duplikat in der Art, wie ich erwartet hatte, dass der Post markiert wurde. Ich glaube, ich habe die Liste nicht hart genug durchsucht. Vielen Dank. – HewwoCraziness
Verstehe, dass es kein * exaktes * Duplikat sein muss. Der Zweck dieser Website besteht nicht darin, Ihnen eine genaue Code-Lösung zu geben, sondern robuste Antworten auf allgemeine Fragen zu geben. Die Lösung "Wie greife ich auf ein anonymes Objekt im Objekt selbst zu?" Wurde bereits gut beantwortet. –