0

问候,

我有一个关于将重复的 JInternalFrames 限制为 JDesktopPane 的问题。基本上,将实例 JInternalFrame 添加到 JDesktopPane 是全面的。但是在 JDesktopPane 上限制相同实例的重复 JInternalFrame 并将该实例置于 JDesktopPane 的顶层。

我怎么能实现这个?我是否要将所有实例存储到 ArrayList 并检查它是否是关于执行的实例已经打开?

您的回复非常感谢。

谢谢,西里尔 H。

4

1 回答 1

0
/**
 * 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);
                }

            }
于 2011-01-04T15:57:53.620 回答