Re: quelques besoins d'aide
Code: Select all
getHome().addFurnitureListener(new CollectionListener<HomePieceOfFurniture>() {
public void collectionChanged(final CollectionEvent<HomePieceOfFurniture> ev) {
if (ev.getType() == CollectionEvent.Type.ADD) {
final Home home = (Home)ev.getSource();
home.removeFurnitureListener(this);
// Remplacement du meuble par une autre instance d'une sous-classe
final MyPieceOfFurniture myPiece = new MyPieceOfFurniture(ev.getItem());
home.addPieceOfFurniture(myPiece, ev.getIndex());
home.addFurnitureListener(this);
// Suppression du meuble précédemment ajouté
EventQueue.invokeLater(new Runnable() {
public void run() {
home.deletePieceOfFurniture(ev.getItem());
List<Selectable> selectedItems =
new ArrayList<Selectable>(home.getSelectedItems());
selectedItems.add(myPiece);
home.setSelectedItems(selectedItems);
}
});
}
}
});