我正在尝试使用从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");
}
最佳答案
第一个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()。
关于java - 了解Java小程序的getParent方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23093338/