Во-первых, вы должны создать WindowListener.
WindowListener wl = new WindowListener() {
@Override
public void windowOpened(WindowEvent we) {
}
@Override
public void windowClosing(WindowEvent we) {
}
@Override
public void windowClosed(WindowEvent we) {
//open new window
JFrame f = new JFrame();
f.setSize(150, 250);
f.addWindowListener(this);
f.setVisible(true);
}
@Override
public void windowIconified(WindowEvent we) {
}
@Override
public void windowDeiconified(WindowEvent we) {
}
@Override
public void windowActivated(WindowEvent we) {
}
@Override
public void windowDeactivated(WindowEvent we) {
}
};
В части WindowClosed вы открываете новое окно по своему усмотрению и добавляете в него WindowListener.Теперь, чтобы начать процесс, вы должны создать окно и добавить к нему этот слушатель.Как только вы закроете это, появится новое окно.Вы можете ограничить количество открывающихся окон переменной вне слушателя.
if(windowsLeft>0){
windowsLeft--;
//open window
}