java在构造函数中获取JComponent的高度和宽度
我想得到我的JFrame的高度和宽度,这样即使调整了窗口的大小,图形也应该处于相同的相对位置。为此,我尝试在构造函数中获取高度和宽度,但它总是返回0。最好的方法是什么
public class FireworkComponent extends JComponent {
public FireworkComponent() {
//some variables ....
this.getHeight();
this.getWidth();
}
}
# 1 楼答案
在调用
getHeight();
或getWidth();
之前,尝试调用pack();
# 2 楼答案
如果组件未实现(即可见),维度将返回^{)。如果重写组件的
paintComponent
方法,则可以通过在组件的Graphics
对象上绘制来检索容器的尺寸,并在特定位置设置图形# 3 楼答案
不要试图在构造器中使用它。身高和这个。宽度并设置为
public void setLocation(int x,int y)方法。确保在应该覆盖的paintcomponent方法中执行此操作,以便它在每次重新调整大小时调用它