该监听器还依赖于GUI设置--如果内存中的所有内容都没有绘制到屏幕上,它就会抓取错误的组件高度(通常为0),并在计算中使用它们,然后出现错误,一切都会变得一团糟。JFrame (as a part of opening method, final repaint/validate)这样做的原因可能是重新绘制/验证,因为addComponent方法以及侦听器具有其他功能问题是在循环中调用了重新绘制/验证,每个组件总共调用了3-4次(cca )。当我打开一个包含20个组件的文件时,我唯一看到它被执行的时候是上