问候,
我有一个关于将重复的 JInternalFrames 限制为 JDesktopPane 的问题。基本上,将实例 JInternalFrame 添加到 JDesktopPane 是全面的。但是在 JDesktopPane 上限制相同实例的重复 JInternalFrame 并将该实例置于 JDesktopPane 的顶层。
我怎么能实现这个?我是否要将所有实例存储到 ArrayList 并检查它是否是关于执行的实例已经打开?
您的回复非常感谢。
谢谢,西里尔 H。
问候,
我有一个关于将重复的 JInternalFrames 限制为 JDesktopPane 的问题。基本上,将实例 JInternalFrame 添加到 JDesktopPane 是全面的。但是在 JDesktopPane 上限制相同实例的重复 JInternalFrame 并将该实例置于 JDesktopPane 的顶层。
我怎么能实现这个?我是否要将所有实例存储到 ArrayList 并检查它是否是关于执行的实例已经打开?
您的回复非常感谢。
谢谢,西里尔 H。
/**
* 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);
}
}