Java,不适用于参数,仿射变换?
Java, not applicable for the arguments,affine transform?
public void paint(Graphics g) {
Rectangle rectangle = new Rectangle(100,100,100,100);
Graphics2D g2d = (Graphics2D) g;
AffineTransform transform = new AffineTransform();
transform.rotate(
Math.toRadians(45), rectangle.getX() + rectangle.width/2,
rectangle.getY() + rectangle.height/2
);
g2d.draw(transform);
}
我试图围绕一个中心旋转一个矩形,但它不起作用。
我收到此错误:
The method draw(Shape) in the type Graphics2D is not applicable for the arguments (AffineTransform)
该错误表明您不能使用转换调用此方法。
您应该尝试先调用 setTransform
然后 draw
矩形。
public void paint(Graphics g) {
Rectangle rectangle = new Rectangle(100,100,100,100);
Graphics2D g2d = (Graphics2D) g;
AffineTransform transform = new AffineTransform();
transform.rotate(
Math.toRadians(45), rectangle.getX() + rectangle.width/2,
rectangle.getY() + rectangle.height/2
);
g2d.setTransform(transform);
g2d.draw(rectangle);
}
public void paint(Graphics g) {
Rectangle rectangle = new Rectangle(100,100,100,100);
Graphics2D g2d = (Graphics2D) g;
AffineTransform transform = new AffineTransform();
transform.rotate(
Math.toRadians(45), rectangle.getX() + rectangle.width/2,
rectangle.getY() + rectangle.height/2
);
g2d.draw(transform);
}
我试图围绕一个中心旋转一个矩形,但它不起作用。 我收到此错误:
The method draw(Shape) in the type Graphics2D is not applicable for the arguments (AffineTransform)
该错误表明您不能使用转换调用此方法。
您应该尝试先调用 setTransform
然后 draw
矩形。
public void paint(Graphics g) {
Rectangle rectangle = new Rectangle(100,100,100,100);
Graphics2D g2d = (Graphics2D) g;
AffineTransform transform = new AffineTransform();
transform.rotate(
Math.toRadians(45), rectangle.getX() + rectangle.width/2,
rectangle.getY() + rectangle.height/2
);
g2d.setTransform(transform);
g2d.draw(rectangle);
}