add property changed listener to your JMenuItem Component.
Override propertyChange() method
public void propertyChange(PropertyChangeEvent theEvt)
{
if ( !isShowing() && "ancestor".equalsIgnoreCase(theEvt.getPropertyName()) && theEvt.getNewValue() == null)
{
// Youcan remove your listener
}
}
try this one... and let me know