繁体   English   中英

addNotify()有什么作用? [关闭]

[英]What does addNotify() do? [closed]

好吧,所以我正在看有关Java游戏开发的教程,他使用了一些我不确定它能做什么的代码。 我想知道,因为没有它,游戏将无法运行。 我正在努力学习尽可能多的关于该主题的知识,并想知道它的作用。 下面的代码感谢您的所有帮助。

public void addNotify() {
    super.addNotify();
    if(thread == null) {
        thread = new Thread(this);
        addKeyListener(this);
        thread.start();
    }
}

JavaDocs for Container

通过将此容器连接到本机屏幕资源使其可显示。 使容器可显示将导致其所有子代都可显示。 此方法由工具包内部调用,不应由程序直接调用。

JavaDocs for JComponent

通知此组件它现在具有父组件。 调用此方法时,将使用KeyboardAction事件侦听器设置父组件链。 该方法由工具箱内部调用,不应由程序直接调用。

好吧,那是什么意思呢?

基本上, Container addNotify设置组件内部用于跟踪和处理事件的事件分发程序/监视器。 它还将对其容器中的所有子组件调用addNotify

JComponent addNotify触发ancestor属性更改事件,并为组件设置焦点横向和键绑定。

将组件添加到可显示容器(附加到本机对等项)时, Container#addImpl调用这些方法。 这会向他们提供有关组件已添加的通知,特别是已将其添加到本机对等项的通知。

这是了解您的组件已添加到可显示上下文并很快进行布局和绘制的好方法。

同样,当从可显示的上下文中删除组件或其父容器时,也有一个removeNotify

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM