1

我是一名高中生,通过视频在斯坦福学习 cs106a。

对于我当前的任务,我必须添加 GObjects 并将它们相对于窗口的大小定位。

我目前正在尝试使用命令获取窗口的宽度

int width = getWidth();

但是宽度 = 0

可能导致这种情况的一件事:这是我使用多个类编写的首批程序之一。

谢谢您的帮助!

4

2 回答 2

3

一个可能的原因 - 您可能getWidth()在窗口(我假设JFrame)实现之前调用(也就是已经setVisible(true)pack()调用它)。 getWidth()在实现之前将返回 0。

于 2010-02-10T04:53:31.107 回答
1

亚历克斯,

在没有您提供示例代码的情况下,我将大胆猜测并说您正在检查类的构造函数中的宽度,或者在创建底层操作系统窗口之前或之后的某个其他时间它已被摧毁。

如果您在这些时间尝试获取窗口属性,您可能会得到零或其他一些无意义的结果。

于 2010-02-10T04:52:21.527 回答