Java 从2个特定点创建矩形
我试图在Java中创建一个矩形,但只使用awt包类 我只能单击两个点,程序必须计算宽度和高度,并在这两个点之间绘制一个矩形 以下内容不适用于我:Java 从2个特定点创建矩形,java,awt,java-2d,shapes,Java,Awt,Java 2d,Shapes,我试图在Java中创建一个矩形,但只使用awt包类 我只能单击两个点,程序必须计算宽度和高度,并在这两个点之间绘制一个矩形 以下内容不适用于我: package ie.iact.shapes; import java.awt.Color; import java.awt.Graphics; import java.awt.Point; public class Rect extends Shapes {`` private Point secondPoint; publi
package ie.iact.shapes;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;
public class Rect extends Shapes {``
private Point secondPoint;
public Rect(Point f, Point s) {
setFirstPoint(f);
setSecondPoint(s);
}
@Override
public void draw(Graphics g) {
int x1 = firstPoint.x;
int y1 = firstPoint.y;
int x2 = secondPoint.x;
int y2 = secondPoint.y;
int a;
int b;
if (x1 < x2) {
a = x1;
} else {
a = x2;
}
if (y1 < y2) {
b = y1;
} else {
b = y2;
}
int width = secondPoint.x - a;
int hight = secondPoint.y - b;
g.drawRect(getFirstPoint().x, getFirstPoint().y, secondPoint.x, secondPoint.y);
}
public Point getSecondPoint() {
return secondPoint;
}
public void setSecondPoint(Point secondPoint) {
this.secondPoint = secondPoint;
}
}
封装ie.iact.shapes;
导入java.awt.Color;
导入java.awt.Graphics;
导入java.awt.Point;
公共类Rect扩展了形状{``
私人点第二点;
公共矩形(点f、点s){
设定值(f);
设置秒点;
}
@凌驾
公共空间绘制(图g){
int x1=第一点x;
int y1=第一点y;
int x2=第二点x;
int y2=第二点y;
INTA;
int b;
if(x1
类已经可以处理您的所有计算:
Rectangle rect= new Rectangle(point1);
rect.add(point2);
g.fillRect(rect.x, rect.y, rect.width, rect.height);
或者,您可以使用:
看看g.drawRect调用。你费尽心机去计算左上角以及高度和宽度,但是完全忽略了tis值…为了更快地获得更好的帮助,请发布一个。谢谢大家,但是代码非常完美。我在另一节课上重写了它
Rectangle rect= new Rectangle();
rect.setFrameFromDiagonal(point1, point2);
g.fillRect(rect.x, rect.y, rect.width, rect.height);