我正在尝试一个使用继承自 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
。
I think, You are mixing
getParent()
method with theinheritence
. Hereparent
meansthe parent container of this component
not component's immediate super-class.
有关更多信息,请查看 Component#getParent() .
关于java - 了解 Java applet 的 getParent 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23093338/