大家好,
我有一个关于限制JDesktopPane的重复JInternalFrames的问题。基本上,在JDesktopPane中添加一个实例JInternalFrame是比较全面的。而是限制JDesktopPane上同一实例的重复JInternalFrame,并使该实例成为JDesktopPane的顶层。
我怎么才能实现它呢?我是否要将所有实例存储到一个ArrayList中,并检查它是否是关于execute的实例已经打开?
非常感谢您的回复。
谢谢西里尔·H。
发布于 2011-01-04 23:57:54
/**
* method to search for active internal frame windows
* and return true or false depending on the outcome. this method uses internalframe names
*/
public boolean searchIFrame(String search, JInternalFrame frame[])
{
for(int i = 0; i < frame.length; i++)
if(frame[i].getTitle().toString().equals(search))
return true;
return false;
}
//its implementation in your program. "Information Form" is the internalframe's name
//jdesk is the desktoppane object or instance
boolean srch = searchIFrame("Information Form", jdesk.getAllFrames());
if(!srch) {
VisitationForm at = new VisitationForm();
at.pack();
jdesk.add(at);
try
{
at.setSelected(true);
at.setVisible(true);
// We're done, so clear the feedback message
//bar.setString(" ");
//bar.setIndeterminate(false);
at.requestFocus();
}
catch (PropertyVetoException pve)
{
//bar.setString(" ");
//bar.setIndeterminate(false);
// Then display the error in a dialog box
System.out.println(pve);
}
}https://stackoverflow.com/questions/4590550
复制相似问题