Java Reference
In-Depth Information
boolean wasAdded()
returns
true
if a new element was added to the set.
•
boolean wasRemoved()
returns
true
if an element was removed from the set.
•
E getElementAdded()
returns the element that was added to the set.
•
E getElementRemoved()
returns the element that was removed from the set.
•
ObservableSet<E> getSet()
In the example in Listing 7-4, we perform various set manipulations after attaching a
SetChangeListener
to
an
ObservableSet
. The implementation of
SetChangeListener
, called
MyListener
, includes a pretty printer for the
SetChangeListener.Change
object, and prints out the set change event object when an event is fired.
•
Listing 7-4.
SetChangeEventExample.java
import javafx.collections.FXCollections;
import javafx.collections.ObservableSet;
import javafx.collections.SetChangeListener;
import java.util.Arrays;
public class SetChangeEventExample {
public static void main(String[] args) {
ObservableSet<String> set = FXCollections.observableSet();
set.addListener(new MyListener());
System.out.println("Calling add(\"First\"): ");
set.add("First");
System.out.println("Calling addAll(Arrays.asList(\"Second\", \"Third\")): ");
set.addAll(Arrays.asList("Second", "Third"));
System.out.println("Calling remove(\"Third\"): ");
set.remove("Third");
}
private static class MyListener implements SetChangeListener<String> {
@Override
public void onChanged(Change<? extends String> change) {
System.out.println("\tset = " + change.getSet());
System.out.println(prettyPrint(change));
}
private String prettyPrint(Change<? extends String> change) {
StringBuilder sb = new StringBuilder("\tChange event data:\n");
sb.append("\t\tWas added: ").append(change.wasAdded()).append("\n");
sb.append("\t\tWas removed: ").append(change.wasRemoved()).append("\n");
sb.append("\t\tElement added: ").append(change.getElementAdded()).append("\n");
sb.append("\t\tElement removed: ").append(change.getElementRemoved()).append("\n");
return sb.toString();
}
}
}
Search WWH ::
Custom Search