@Override public void fireFinalEvents() { super.fireFinalEvents(); if (delayedEvent) { fireStateChanged(); fireItemStateChanged(new ItemEvent(this, ItemEvent.ITEM_STATE_CHANGED, this, model.isSelected() ? ItemEvent.SELECTED : ItemEvent.DESELECTED)); delayedEvent = false; } } }
/** * Toggle the selection. If the new selection * is different to the old selection * an {@link ItemEvent} is raised. */ public void setSelected(boolean selected) { if (model.isSelected() != selected) { boolean oldVal = model.isSelected(); model.setSelected(selected); propertyChangeSupport.firePropertyChange("selected", oldVal, model.isSelected()); if (!delayEvents) { fireStateChanged(); fireItemStateChanged(new ItemEvent(this, ItemEvent.ITEM_STATE_CHANGED, this, model.isSelected() ? ItemEvent.SELECTED : ItemEvent.DESELECTED)); delayedEvent = false; } else delayedEvent = true; reload(); } }