0
我有一个特殊情况,我想将侦听器添加到可见属性中,然后在该属性不再可见时删除侦听器。我只想让听众发射一次然后将其移除。当侦听器执行时删除侦听器
即
ChangeListener<Boolean> listener= (obs, ov, nv) -> {
if(!nv){
//do my processing
node.visibleProperty().removeListener(listener); }
}
};
node.visibleProperty().addListener(listener);
但是它告诉我,该变量听众可能没有被初始化。如果我尝试将它设为空,然后创建它,它会抱怨它不是最终的结果
这可能吗?
谢谢 - 我甚至没有想过要使用内部类而不是lambda。 –
@purringpigeon啊,今天的青春。当我还是小伙子时,我们甚至没有拉姆达表达式等等。 –
青年?我已经做了20多年。我刚刚走进拉姆达,我没想到会回来。哈哈。 –