Ich versuche, eine nicht stören Funktion für meine Benachrichtigung in der Taskleiste zu machen und ich versuche, eine if-Anweisung zu machen, die geht, wenn Variable dnd = false
dann den System-Tray-Namen in "Nicht stören - auf" ändern und einstellen dnd
zu wahr else gesetzt dnd = false
aber unter den dnd = true;
und dnd = false;
es hat eine rote Linie und sagt "Lokale Variable dnd in einem umschließenden Umfang definiert muss endgültig oder effektiv endgültig sein" und ich bin mir nicht sicher, was zu tun ist. Bitte helfen Sie. mein Code
hier:kann Variablenwert nicht innerhalb if-Anweisung ???? java
boolean dnd = false;
doNotDisturb.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (dnd == false) {
dnd = true;
doNotDisturb.setName("Do Not Disturb - on");
} else {
dnd = false;
}
}
});
Lösung hängt davon ab, was Sie wirklich tun möchten. Sie können der lokalen Variablen, die außerhalb der anonymen Klasse deklariert wurde, keinen neuen Wert * zuweisen. Sie könnten also versuchen, diese Variable in eine anonyme Klasse zu verschieben oder sie in ein Feld der Oberklasse zu bringen oder statt dessen einen Booleschen Wrap in einem anderen Typ zu verwenden und ihren Zustand (durch Getter und Setter) zu ändern. – Pshemo
Haben Sie nach der Fehlermeldung gesucht? Bitte tun Sie dies * vor * fragen. –