我有一个扩展JInternalFrame
的课程。我覆盖了public void dispose()
。
看起来像这样
@Override
public void dispose(){
setVisible(false);
}
尽管我没有打电话给super.dispose()
,但在我看来,被覆盖的方法dispose()
会调用它。那是为什么?
谢谢!
编辑(附加信息):
实施例:
我有5个类的对象扩展JInternalFrame
对象中显示的JDesktopPane
。
当我在一个窗口(dispose()
)上单击退出(调用JInternalFrame
)时,JDesktopPane
中的组件数量会减一。
这是super.dispose()
方法的操作。并且还调用了重写方法dispose()
,我通过在控制台上打印来检查
编辑:
我通过调用this.setDefaultCloseOperation(HIDE_ON_CLOSE)
而不是覆盖dispose()
方法解决了我的问题。但我仍然想知道为什么会发生这种情况......