在构造函数中获取JComponent的高度和宽度

时间:2011-11-09 19:00:09

标签: java swing jframe jcomponent

我希望获得JFrame的高度和宽度,以便即使调整窗口大小,图形也应该处于相同的相对位置。为此,我试图在构造函数中获取高度和宽度,但它总是返回0.这样做的最佳方法是什么?

public class FireworkComponent extends JComponent {
   public FireworkComponent() {
   //some variables ....

  this.getHeight();
  this.getWidth();
    }

}

3 个答案:

答案 0 :(得分:4)

如果组件已实现(即可见),则维度将返回0。如果覆盖组件的paintComponent方法,则可以通过绘制组件的Graphics对象来检索容器的尺寸并在特定位置设置图形。

答案 1 :(得分:2)

在致电pack();getHeight();

之前,请尝试拨打getWidth();

答案 2 :(得分:2)

不要试图在构造函数中使用this.HEIGHT和this.WIDTH并使用

设置它

public void setLocation(int x,int y)方法。确保你在paintcomponent方法中执行此操作,你应该覆盖它,所以每次重新调整大小时都会调用它。