我正在使用Graphics2D
来绘制形状,例如矩形。然而,我已经让代码工作了,它在我的 GUI 上绘制了矩形,但精度很差,而不是我拖动它的大小(默认情况下 get 方法返回整数)。而且,每次我单击面板时,形状大小和形状数量似乎都是随机的。
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();
}
最佳答案
Rectangle2D由 (x,y,width,height) 构造。你给它(x1,y1,x2,y2)。尝试:
Rectangle2D rectangle = new Rectangle2D.Double(a, b, a2-a, b2-b);
关于java - 如何更准确地绘制这个形状?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14468399/