コンストラクタは非常に簡単です:
あなたはこのような何かをしたいと思います。クラスのコンストラクタには、クラスと同じ名前を付けてください。通常は、コンストラクターの入力を割り当てるためのプライベート変数を作成する必要があります。この場合、int x、int y、int w、およびint hをコンストラクタに代入するためにprivate int x、y、w、およびhを作成しました。
className objectName = new className(100, 200, 300, 400);
:描画するとき、私たちはメインクラスで
public class className{
//Creating object properties
private int x, y, w, h;
//Class Constructor
public className(int x, int y, int w, int h){
this.x = x;
this.y = y;
this.w = w;
this.h = h;
}
//For drawing, you want to take in a Graphics2D Object (g2)
public void draw(Graphics2D g2){
g2.drawOval(x, y, w, h);
}
}
か、どこにあなたのPaintComponentは、次のように入力し、あなたのコンストラクタを使用すること、である私たちの希望形状を描画するGraphics2Dオブジェクトに取り、ポイントなどこのコードは、xが100、yが200、w、300、およびhが400のコンストラクタ "className"から "objectName"という名前の新しいオブジェクトを作成します。描画関数を呼び出すには、単に
objectName.draw(g2); //Where g2 is some Graphics2D object
と入力します。
あなたの場合、「g」は何ですか?あなたはすでにいくつかのコード/知識を見つけたようですが、それを徹底的に読んでみませんか?その 'g.drawOval(x、y、w、h);'はコンポーネントの(パネルかもしれません) 'paint(Graphics g)'メソッドに属します。 – Thomas
@トーマス 'paint 'の代わりに' paintComponent(Graphics g) 'メソッドを意味すると思います... – Frakcool
@Frakcoolあなたは両方をオーバーライドできますが、' paintComponent(...) 'がおそらく良いでしょう。 :) – Thomas