4

ウィンドウのサイズが変更されてもグラフィックが同じ相対位置になるように、JFrame の高さと幅を取得したいと考えています。これを行うために、コンストラクターで高さと幅を取得しようとしていますが、常に 0 を返します。これを行う最善の方法は何ですか?

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

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

}

4

3 に答える 3

4

0コンポーネントが実現されていない(つまり、表示されていない)場合は、寸法が返されます。コンポーネントのメソッドをオーバーライドするpaintComponentと、コンテナの寸法を取得し、コンポーネントのGraphicsオブジェクトを描画することで特定の場所にグラフィックを設定できます。

于 2011-11-09T19:07:24.727 に答える
2

pack();電話をかける前に電話してみてくださいgetHeight();またはgetWidth();

于 2011-11-09T19:06:07.707 に答える
2

this.HEIGHT と this.WIDTH を使用してコンストラクターで取得しようとしないでください。

public void setLocation(int x, int y) メソッド。サイズが変更されるたびに呼び出されるように、オーバーライドする必要がある paintcomponent メソッドでこれを行うようにしてください。

于 2011-11-09T21:06:03.440 に答える