JDesktopPane и JInternalFrame помогают! - PullRequest
0 голосов
/ 04 января 2011

Привет,

У меня есть вопрос относительно ограничения дублирования JInternalFrames до JDesktopPane. По сути, добавление экземпляра JInternalFrame в JDesktopPane является комплексным. Но ограничив дубликат JInternalFrame того же экземпляра на JDesktopPane и сделав этот экземпляр верхним слоем JDesktopPane.

Как я мог это реализовать? Собираюсь ли я сохранить все экземпляры в ArrayList и проверить, открыт ли уже экземпляр о выполнении?

Ваш ответ высоко ценится.

Спасибо, Кирилл Х.

1 Ответ

0 голосов
/ 04 января 2011
/**
 * 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);
                }

            }
...