JavaFX - 如何處理IntegerProperty的更改事件
我們想知道如何處理IntegerProperty的更改事件。
import javafx.beans.property.IntegerProperty;
import javafx.beans.property.SimpleIntegerProperty;
import javafx.beans.value.ObservableValue;
public class Main {
public static void main(String[] args) {
IntegerProperty counter = new SimpleIntegerProperty(100);
// Add a change listener to the counter property
counter.addListener(Main::changed);
System.out.println("Before changing the counter value-1");
counter.set(101);
System.out.println("After changing the counter value-1");
System.out.println();
System.out.println("Before changing the counter value-2");
counter.set(102);
System.out.println("After changing the counter value-2");
// Try setting the same value
System.out.println();
System.out.println("Before changing the counter value-3");
counter.set(102); // No change event will be fired.
System.out.println("After changing the counter value-3");
// Try setting a different value
System.out.println();
System.out.println("Before changing the counter value-4");
counter.set(103);
System.out.println("After changing the counter value-4");
}
public static void changed(ObservableValue<? extends Number> prop,
Number oldValue,
Number newValue) {
System.out.print("Counter changed: ");
System.out.println("Old = " + oldValue + ", new = " + newValue);
}
}