我正在尝试在系统托盘中为我的通知制作请勿打扰功能,并且我正在尝试制作一个 if 语句,如果变量出现,dnd = false
然后将系统托盘名称更改为“请勿打扰 - on”并设置dnd
为 true else setdnd = false
但根据dnd = true;
和dnd = false;
它有一个红色的线,并说“局部变量DND在封闭范围内定义必须是最终或有效决赛”,我不知道该怎么做。请帮忙。
这是我的代码:
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;
}
}
});
变量dnd
必须是最终的或有效的最终(这是这种情况)。这就是为什么您可以从闭包上下文中引用它的原因。编译器不希望您dnd
从闭包或匿名类中重新分配。
您可以通过以下任一方式解决问题
将 dnd 包装在一个对象中:
DndConfig dndConfig = new DndConfig();
在匿名类中:
dndConfig.dnd = true; //your logic
制作dnd
主类的实例字段。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句