我有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)
。