3
JavaFx BooleanProperty
에 리스너를 추가, 제거 및 다시 추가하려고 시도하지만 작동하지 않습니다. 여기 JavaFX 속성 제거 수신기가 작동하지 않습니다.
공용 클래스 PropListenerTest {
BooleanProperty test = new SimpleBooleanProperty(false);
public PropListenerTest() {
System.out.println("\nTest 1\tadd the listener"); //NON-NLS
test.addListener(this::onChangeTest);
test.set(true);
test.set(false);
System.out.println("\nTest 2\tremove the listener, but not possible! Why?"); //NON-NLS
test.removeListener(this::onChangeTest);
test.set(true);
test.set(false);
System.out.println("\nTest 3\tAdd the listener again, but now i have two listener but I want only one!"); //NON-NLS
test.addListener(this::onChangeTest);
test.set(true);
test.set(false);
}
private void onChangeTest(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
System.out.println("observable = [" + observable + "], oldValue = [" + oldValue + "], newValue = [" + newValue + "]"); //NON-NLS
}
public static void main(String[] args) {
new PropListenerTest();
}
결과 내 코드입니다
내가 거기에 어떤 결과 일 수 없으며 시험 3한다 시험이 생각Test 1 add the listener
observable = [BooleanProperty [value: true]], oldValue = [false], newValue = [true]
observable = [BooleanProperty [value: false]], oldValue = [true], newValue = [false]
Test 2 remove the listener, but not possible! Why?
observable = [BooleanProperty [value: true]], oldValue = [false], newValue = [true]
observable = [BooleanProperty [value: false]], oldValue = [true], newValue = [false]
Test 3 Add the listener again, but now i have two listener but want only one
observable = [BooleanProperty [value: true]], oldValue = [false], newValue = [true]
observable = [BooleanProperty [value: true]], oldValue = [false], newValue = [true]
observable = [BooleanProperty [value: false]], oldValue = [true], newValue = [false]
observable = [BooleanProperty [value: false]], oldValue = [true], newValue = [false]
그 테스트 1에서와 같은 결과를 나타내야합니다. 내가 뭘 잘못하고 있는지 모르는 사람이 나를 도울 수 있습니까?
감사합니다.
감사합니다. 위대한 작품은 미안하다. –