Понимание метода getParent для Java-апплета

Я пробую учебник, который использует класс, который наследуется от класса Applet. Мне трудно понять концепцию линии, которая создает объект кадра. Я не уверен, что делают 2 вызова getParent().

Первый вызов getParent() ссылается на родителя StartingClass, который является Applet? Второй вызов getParent() ссылается на родителя Апплета, который является Panel?

Я серьезно полагаю, что я смотрю на это неправильно и ищу разъяснения.

public class StartingClass extends Applet implements Runnable {

    @Override
    public void init() {

        setSize(800, 480);
        setBackground(Color.BLACK);
        setFocusable(true);
        Frame frame = (Frame) this.getParent().getParent();
        frame.setTitle("Q-Bot Alpha");
    }

1 ответ

Решение

Первый getParent вернусь sun.applet.AppletViewerPanel а второй вернется sun.applet.AppletViewer,

Вот декларация AppletViewer учебный класс

public class sun.applet.AppletViewer extends java.awt.Frame ...

Вот почему вы можете опустить AppletViewer в Frame,

Я думаю, вы смешиваете getParent() метод с inheritence, Вот parent средства the parent container of this component не непосредственный суперкласс компонента.

Для получения дополнительной информации взгляните на Component # getParent ().

Другие вопросы по тегам