web-dev-qa-db-ja.com

g.fillRectメソッドを使用してJavaでRectangleオブジェクトを作成する方法

四角形オブジェクトを作成してから、Paint()を使用してアプレットにペイントする必要があります。私は試した

Rectangle r = new Rectangle(arg,arg1,arg2,arg3);

次に、アプレットにペイントしてみました

g.draw(r);

うまくいきませんでした。 Javaでこれを行う方法はありますか?答えを求めてグーグルを探してみましたが、答えを見つけることができませんでした。助けてください!

9
imulsion

これを試して:

public void Paint (Graphics g) {    
    Rectangle r = new Rectangle(xPos,yPos,width,height);
    g.fillRect(r.getX(), r.getY(), r.getWidth(), r.getHeight());  
}

[編集]

// With explicit casting
public void Paint (Graphics g) {    
        Rectangle r = new Rectangle(xPos, yPos, width, height);
        g.fillRect(
           (int)r.getX(),
           (int)r.getY(),
           (int)r.getWidth(),
           (int)r.getHeight()
        );  
    }
15
Zac

あなたはこのように試すことができます:

import Java.applet.Applet;
import Java.awt.*;

public class Rect1 extends Applet {

  public void Paint (Graphics g) {
    g.drawRect (x, y, width, height);    //can use either of the two//
    g.fillRect (x, y, width, height);
    g.setColor(color);
  }

}

ここで、xはx座標、yはy座標ですcolor =使用する色(Color.blueなど)

四角形オブジェクトを使用する場合は、次のようにします。

import Java.applet.Applet;
import Java.awt.*;

public class Rect1 extends Applet {

  public void Paint (Graphics g) {    
    Rectangle r = new Rectangle(arg,arg1,arg2,arg3);
    g.fillRect(r.getX(), r.getY(), r.getWidth(), r.getHeight());
    g.setColor(color);
  }
}       
5
heretolearn

注: _drawRectfillRect異なる

指定された長方形の輪郭を描画します。

public void drawRect(int x,
        int y,
        int width,
        int height)

指定された長方形を塗りつぶします。四角形は、グラフィックコンテキストの現在の色を使用して塗りつぶされます。

public abstract void fillRect(int x,
        int y,
        int width,
        int height)
0
ZhaoGang