Java 如何更准确地绘制此形状?

Java 如何更准确地绘制此形状?,java,graphics2d,shapes,Java,Graphics2d,Shapes,我正在使用Graphics2D绘制形状,例如矩形。但是,我已经让代码正常工作了,它在我的GUI上绘制了矩形,但是精度太差了,不是我拖动它的大小(默认情况下get方法返回int)。而且每次我点击面板时,形状大小和形状数量似乎都是随机的 int a,b,a2,b2; public void MyPaintMethod(Graphics g) { Graphics2D g2D = (Graphics2D) g; Rectangle2D rectangle = new Rectangl

我正在使用
Graphics2D
绘制形状,例如矩形。但是,我已经让代码正常工作了,它在我的GUI上绘制了矩形,但是精度太差了,不是我拖动它的大小(默认情况下get方法返回int)。而且每次我点击面板时,形状大小和形状数量似乎都是随机的

int a,b,a2,b2;

public void MyPaintMethod(Graphics g) {
    Graphics2D g2D = (Graphics2D) g;
    Rectangle2D rectangle = new Rectangle2D.Double(a,b,a2,b2);
    g2D.draw(rectangle);    
    repaint();
}

public void mousePressed(MouseEvent e) {
    // ML
    a = e.getX();
    b = e.getY();
}

public void mouseReleased(MouseEvent e) {
    // ML
    a2 = e.getX();
    b2 = e.getY();
}
由(x、y、宽度、高度)构成。你给它(x1,y1,x2,y2)。尝试:

由(x、y、宽度、高度)构成。你给它(x1,y1,x2,y2)。尝试:


这将是很好的,看到一个屏幕帽的图像,你正在得到的,也是一个样机,你希望得到的。否则就没什么好做的了。为什么不使用Graphics2D.fillRect(x,y,width,height)方法呢?如果能看到你正在获取的图像的屏幕帽,以及你期望得到的图像的模型,那就太好了。否则就没什么好做的了。为什么不使用Graphics2D.fillRect(x,y,width,height)方法呢?
Rectangle2D rectangle = new Rectangle2D.Double(a, b, a2-a, b2-b);