我正在尝试使用继承自Applet类的类的教程。我很难掌握创建框架对象的线的概念。我不确定2个getParent()调用是做什么的。
第一个getParent()调用是否引用了StartingClass的父类,即Applet? 第二个getParent()调用是否引用了Applet的父级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");
}
答案 0 :(得分:1)
第一个getParent
将返回sun.applet.AppletViewerPanel
,第二个将返回sun.applet.AppletViewer
。
以下是AppletViewer
class
public class sun.applet.AppletViewer extends java.awt.Frame ...
这就是为什么你可以将AppletViewer
转发为Frame
。
我认为,您正在将
getParent()
方法与inheritence
混合使用。这里parent
表示the parent container of this component
不是组件的直接超类。
有关详细信息,请查看Component#getParent()。