subpaint()是真正用于Manager的,不一定是自定义字段(是的,Manager是一个Field)。它的默认实现是仅遍历其子字段并对其发出
paintChild()调用。
paint()另一方面,是让Field进行与自身相关的绘图。就您而言,您应该压倒一切
paint()。
那么,为什么要覆盖
subpaint()?您需要是否需要子Field来按一定顺序绘制自己。假设您有一个自定义管理器,该管理器将某些字段相互叠加。如果需要按特定顺序绘制它们,则可以覆盖
subpaint()以确保正确的“字段”位于“顶部”。此外,经理
paint()会调用它
subpaint(),如果您覆盖它,则要记住这一点。



