有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

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

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

}


共 (3) 个答案

  1. # 1 楼答案

    在调用getHeight();getWidth();之前,尝试调用pack();

  2. # 2 楼答案

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

  3. # 3 楼答案

    不要试图在构造器中使用它。身高和这个。宽度并设置为

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