Missed a spot: File -> Close

That calls dispose().
Rejigger: rather than suppressing dispose and adding a window listener,
we can just override dispose and suppress calls to super...