I keep all JInternalFrames in arraylist
ArrayList<JInternalFrame> arr;
so every frame have its index.
Every frame contains JScrollPane. MyJPanel(extends JPanel) keep index of the frame.
JInternalFrame frame = new JInternalFrame("Frame "+Integer.toString(count),true,true,true,true);
MyJPanel panel = new MyJPanel(f.getAbsolutePath(),count);
JScrollPane pane = new JScrollPane(panel);
pane.setPreferredSize(new Dimension(theDesktop.getWidth()/2,theDesktop.getHeight()/2));
frame.getContentPane().add(pane, BorderLayout.CENTER);
frame.pack();
How to get index of closed JInternalFrame and delete this frame from arraylist?Override some close method?
You can set the default close operation for your internal frames and then when you are closing the view call doDefaultCloseAction which fires an Event.
Before this add yourself as the listener for this event, upon receipt of event do the necessary action.