在Java MDI应用中,想限制一个JInternalFrame窗体只创建一次,如果已经创建,就不能再创建了。子窗口使用singleton模式,但子窗口无法显示出来,很奇怪。
public class JMyInternalFrame
{
private static JMyInternalFrame jFrame=new JMyInternalFrame();
private JMyInternalFrame(){}
public static JMyInternalFrame GetFrame()
{
return jFrame;
}
}
public class JMyInternalFrame
{
private static JMyInternalFrame jFrame=new JMyInternalFrame();
private JMyInternalFrame(){}
public static JMyInternalFrame GetFrame()
{
return jFrame;
}
}
这个internal frame要加到desktop里, JDesktop desktop = new JDesktop();
desktop.set(internalFrame)...
我做了一个是自己判断的
JInternalFrame[] frames;
frames = desk.getAllFrames();//将已经创建的窗体都放到一个数组里
indexFrame = exist(frame, frames); //调用exist方法,判断点选的窗体是否存在
if (indexFrame > -1) {//大于-1表示已经存在
//窗体存在的操作
}
else{//窗体不存在
//建立新窗体
}