it-swarm.com.de

So erstellen Sie ein Rechteckobjekt in Java mit der Methode g.fillRect

Ich muss ein Rechteckobjekt erstellen und dann mit Paint () in das Applet malen. Ich habe es versucht

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

Dann versuchte es mit dem Applet zu malen 

g.draw(r);

Es hat nicht funktioniert. Gibt es eine Möglichkeit, dies in Java zu tun? Ich habe Google innerhalb eines Zentimeter seines Lebens nach einer Antwort durchsucht, aber ich konnte keine Antwort finden. Bitte helfen

9
imulsion

Versuche dies:

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

[bearbeiten] 

// 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

Sie können es so versuchen:

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);
  }

}

wobei x die x-Koordinate ist y ist y-Koordinate color = die Farbe, die Sie verwenden möchten, z. B. Color.blue

wenn Sie ein Rechteckobjekt verwenden möchten, können Sie dies folgendermaßen tun:

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

Hinweis: drawRect und fillRect sind unterschiedlich.

Zeichnet den Umriss des angegebenen Rechtecks:

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

Füllt das angegebene Rechteck. Das Rechteck wird mit der aktuellen Farbe des Grafikkontexts gefüllt:

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