我希望获得JFrame的高度和宽度,以便即使调整窗口大小,图形也应该处于相同的相对位置。为此,我试图在构造函数中获取高度和宽度,但它总是返回0.这样做的最佳方法是什么?
public class FireworkComponent extends JComponent {
public FireworkComponent() {
//some variables ....
this.getHeight();
this.getWidth();
}
}
答案 0 :(得分:4)
如果组件已实现(即可见),则维度将返回0
。如果覆盖组件的paintComponent
方法,则可以通过绘制组件的Graphics
对象来检索容器的尺寸并在特定位置设置图形。
答案 1 :(得分:2)
在致电pack();
或getHeight();
getWidth();
答案 2 :(得分:2)
不要试图在构造函数中使用this.HEIGHT和this.WIDTH并使用
设置它public void setLocation(int x,int y)方法。确保你在paintcomponent方法中执行此操作,你应该覆盖它,所以每次重新调整大小时都会调用它。