我有MyJPanel(扩展JPanel)。每个MyJPanel对象都有方法GetID()。当我创建它时,我使用构造函数设置ID(但也有方法SetID()),设置大小,然后创建Jscrollpane并将其添加到JInternalFrame。所有帧都在ArrayList<JInternalFrame> arr
。从JInternalframe的内容获取方法
JInternalFrame frame = new JInternalFrame("Inner frame",true,true,true,true);
final MyJPanel panel = new MyJPanel(f.getAbsolutePath(),count);
panel.setSize(panel.getWidth()/6,panel.getHeight()/6);
JScrollPane pane = new JScrollPane(panel);
pane.setPreferredSize(new Dimension(theDesktop.getWidth()/2, theDesktop.getHeight()/2));
frame.getContentPane().add(pane, BorderLayout.CENTER);
要删除帧我想补充添加的FrameListener和方法internalFrameClosing方法
public void internalFrameClosing(InternalFrameEvent e) {
int index = panel.GetID();//get index of panel окна
if (index == arr.size())
arr.remove(index);//remove last element
else{
//reset all indexes of JInternalFrames' MyJPanel
}
}
但我不知道什么时候帧中的一个被删除,因为 如何重置为JInternalFrames的阵列MyJPanels值1)MyJPanel在JScrollPane中。方法SetID 2)JScrollPane在JInternalFrame中 3)JInternalFrame在数组中。没有方法SetID()在arr.get(i)
。