0
나는 visible 속성에 리스너를 추가하고 속성이 더 이상 보이지 않을 때 리스너를 제거하려는 특별한 경우가 있습니다. 청취자가 한 번만 발사하고 나서 제거해야합니다.리스너가 실행될 때 리스너 제거
즉,이 변수 리스너가 초기화되지 않았을 수 있음을 알려줍니다 그러나
ChangeListener<Boolean> listener= (obs, ov, nv) -> {
if(!nv){
//do my processing
node.visibleProperty().removeListener(listener); }
}
};
node.visibleProperty().addListener(listener);
. 그것을 null로 만든 다음, 그것을 만들면 효과적이지 않다는 문구가됩니다.
이것이 가능합니까?
감사합니다 나는 람다 대신 내부 클래스를 사용한다고 생각조차하지 않았다. –
@purringpigeon 아, 오늘의 젊은이. 내가 어렸을 때 람다 식 등도 없었어. –
젊음? 나는 이것을 20 년 이상 해왔다. 나는 막 돌아 오는 것을 생각하지 않은 람다에 지금까지 갔다. 하하. –