0
我有一個特殊情況,我想將偵聽器添加到可見屬性中,然後在該屬性不再可見時刪除偵聽器。我只想讓聽衆發射一次然後將其移除。當偵聽器執行時刪除偵聽器
即
ChangeListener<Boolean> listener= (obs, ov, nv) -> {
if(!nv){
//do my processing
node.visibleProperty().removeListener(listener); }
}
};
node.visibleProperty().addListener(listener);
但是它告訴我,該變量聽衆可能沒有被初始化。如果我嘗試將它設爲空,然後創建它,它會抱怨它不是最終的結果
這可能嗎?
謝謝 - 我甚至沒有想過要使用內部類而不是lambda。 –
@purringpigeon啊,今天的青春。當我還是小夥子時,我們甚至沒有拉姆達表達式等等。 –
青年?我已經做了20多年。我剛剛走進拉姆達,我沒想到會回來。哈哈。 –