вы можете установить статус окна в логическом объекте.Например, когда вы открываете окно в то время, установите для логического объекта значение true, а когда оно закроется, установите для false этот логический объект, который вы можете установить в конкретном классе или в одном общем классе, где вы можете поддерживать статус всех классов водин класс
вам нужно переопределить этот метод в вашем классе для JInternalFrame в каждом открываемом вами окне
yourinternalframe.addInternalFrameListener(new javax.swing.event.InternalFrameAdapter() {
public void internalFrameClosing(InternalFrameEvent e) {
///// here you can change the status of boolean object set to false so when again it will open it
}
});