Как определить, находится ли мой Java-компонент в апплете? - PullRequest
5 голосов
/ 16 января 2009

У меня есть Компонент, который я использую как в автономном приложении Java, так и в апплете Java. Как я могу из компонента выяснить, находится ли мой компонент в апплете?

Кроме того, как только я выясню, что я работаю в апплете, как я могу получить доступ к апплету?

Ответы [ 2 ]

4 голосов
/ 16 января 2009

Вы можете сделать это без рекурсии с помощью SwingUtilities.getAncestorOfClass

2 голосов
/ 16 января 2009

Я думаю, что вы должны быть в состоянии сделать это, неоднократно вызывая Component.getParent(), пока не дойдете до вершины дерева контейнеров, а затем проверив, является ли этот контейнер instanceof Applet.

Код ниже полностью не проверен:

boolean isInAnApplet(Component c)
{
    Component p = c.getParent();
    if (p != null) {
         return isInAnApplet(p);
    } else {
         return (c instanceof Applet);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...