【发布时间】:2010-09-17 16:26:08
【问题描述】:
因为 Canvas3D 无法使用父框架动态调整大小,所以我希望能够跟踪用户何时调整窗口大小,然后自己手动调整窗口大小。 (如果这最终导致 Canvas3D 崩溃,正如一些文档所建议的那样,我将在用户调整其窗口大小时简单地销毁并重新创建它)。此过程的一部分涉及能够准确地判断容器面板的大小。
我试过的两种方法:
panel.getHeight(); panel.getPreferredSize().height;
似乎没有准确地报告事情:getHeight() 总是为零,getPreferredSize() 返回的数字实际上与面板的实际大小没有任何关系。
有什么想法吗?
编辑:因此,我将调试器带到面板对象并手动检查非对象属性,但没有看到任何类似于宽度/高度的东西。当然,有些子对象我没有看过。另外,当我查询高度/对象时,也许窗口必须是可见的(它不是,在我与对象交互时)?
编辑 2:所以,Swing 类是 AWT 类的子类,所以我想如果您能够找到这些类的高度/宽度,那么该方法就会泛化。我已经相应地修改了标题。
【问题讨论】: