java - 了解 Java applet 的 getParent 方法

标签 java applet appletviewer

我正在尝试一个使用继承自 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 the inheritence. Here parent means the parent container of this component not component's immediate super-class.

有关更多信息,请查看 Component#getParent() .

关于java - 了解 Java applet 的 getParent 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23093338/

相关文章:

java - Mac OSX - appletviewer 不显示任何内容

Java 小程序使用额外的随机字母呈现 JLabel(和其他组件)

java - 从浏览器运行时 JApplet 无法获得焦点

java - SWT Table 在绘制文本时使用哪个文本边距?

java - 使用 Java 的浏览按钮导入文件

java - Swing无法画圆

java - 如何在小程序中禁用http缓存

java - 我的 JApplet 中的线程 "AWT-EventQueue-1"java.lang.NullPointerException 中出现异常

java - SocketChannel : Single or multi ,哪个更好?

java - 除非从桌面打开小程序,否则抛出 ClassNotFoundException