我的情景:
我在JEditorPane
注册了一些ObjectManager
来执行以下操作:
public MyPane extends JEditorPane{
public MyPane(Parent parent)
{
super();
parent.getObjectManger().registerManagedPanes(this);
}
}
任何时候代码创建它都会将自己注册到Manager。
我需要在MyPane
不可用时取消注册,这意味着什么时候
MyPane.isDisplayable() == false
我需要类似的东西
//MyPane
parent.getObjectManger().unregisterFromManagedPane(this);
通过查看Component
实施,基本上isDisplayable()
在peer
为null
时返回false。我不想这么深,有任何JComponent
(或任何其他超级或扩展对象)的方法我可以覆盖以获得类似的行为
//MyPane
@Override
public FooOrVoid lookingForThisMethod()
{
if (!isDisplayable())
{
parent.getObjectManger().unregisterFromManagedPane(this);
}
return super();
}
如果这种做法有误,还有其他方法来归档这种行为吗?
Thanx in advice