Escolar Documentos
Profissional Documentos
Cultura Documentos
Interfaces
Clases
• FXCollections: Una clase de utilidad que consiste en métodos estáticos que son
copias uno a uno de los métodos java.util.Collections, nos servirá para
implementar las observableList.
En concreto veremos muy rápidamente los List. Cómo los hemos usado con
anterioridad en este mismo módulo, a continuación se muestra un ejemplo que repasa
los aspectos fundamentales de los List, en concreto de los ArrayList:
import java.util.List;
import java.util.ArrayList;
// Mostrar el contenido.
muestraElementos(list);
// Crear sublista.
System.out.println("creando una sublista...");
list = list.subList(1,3);
muestraElementos(list);
// Borrar todo.
System.out.println("Borrando todos los elementos...");
list.clear();
muestraElementos(list);
}
3. Usando ObservableList.
Primero crearemos una lista estándar. Luego se envuelve con un ObservableList, que
se obtiene pasando la lista a FXCollections.observableList(list).
Después creamos un ListChangeListener que se ejecutará siempre que se realice un
cambio en el ObservableList:
}
}
observableList.addListener(new ListChangeListener() {
@Override
public void onChanged(ListChangeListener.Change change) {
System.out.println("Detectado un cambio!! ");
}
});
}
}
observableList.addListener(new ListChangeListener() {
@Override
public void onChanged(ListChangeListener.Change change) {
System.out.println("Detectado un cambio!! ");
//usando el objeto change
while (change.next()) {
System.out.println("¿Fue añadido? " + change.wasAdded());
System.out.println("¿Fue movido? " + change.wasRemoved());
System.out.println("¿Fue remplazado? " +
change.wasReplaced());
System.out.println("¿Fue permutado? " +
change.wasPermutated());
}
}
});
}
}
Las ObservableList se utilizan no sólo por la clase ChoiceBox, sino también por otros
controles , como ComboBox y List, que tienen un método getItems que devuelve un
ObservableList. Las ObservableList también son utilizadas por layouts, como HBox
y VBox, el método getChildren que es común a todas los layouts devuelve un
ObservableList.
cbox.getItems().clear();
cbox.getItems().addAll(list);
Modifica el ejemplo del ChoiceBox de la unidad anterior para que se pueda añadir
elementos al Chiocebox mediante un campo de texto y un botón: