好吧,所以我正在观看有关Java游戏开发的教程,他使用了一些我不确定它的功能的代码。我想知道,因为没有它,游戏就不会运行。我想尽可能多地学习这个主题,并想知道它的作用。代码如下,谢谢你的帮助。
public void addNotify() {
super.addNotify();
if(thread == null) {
thread = new Thread(this);
addKeyListener(this);
thread.start();
}
}
答案 0 :(得分:2)
通过将此容器连接到本机屏幕,可以显示此容器 资源。使容器可显示将导致其全部 孩子们可以展示。此方法由内部调用 工具包,不应该由程序直接调用。
通知此组件它现在有一个父组件。当这个 调用方法,设置父组件链 KeyboardAction事件侦听器。该方法由工具包调用 在内部,不应该由程序直接调用。
好的,但那意味着什么呢?
基本上,addNotify
中的Container
设置组件内部使用的事件调度程序/监视器来跟踪和处理事件。它还会将addNotify
调用到它容器的所有子组件。
addNotify
中的{p> JComponent
会触发ancestor
属性更改事件,并为该组件设置焦点横向和键绑定。
当组件添加到可显示容器(连接到本地对等方的容器)时,Container#addImpl
会调用这些方法。这为他们提供了已经添加组件的通知,特别是向本地对等方添加。
这是一种很好的方法,可以知道您的组件已添加到可显示的上下文中,并且很快就会被布局和绘制。
同样地,还有一个removeNotify
用于何时删除组件或从可显示的上下文中移除其父容器。