java - 如何更准确地绘制这个形状?

标签 java graphics2d shapes

我正在使用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/

相关文章:

java - Libgdx Box2D 改变 Bodys Fixture 的形状

java - 在 JPanel/JFrame 中动态显示 JLabels

java - 通过Java代码提交Html表单

JavaFX setCursor( ) 不工作

java - 如何在java图形缩放过程中存储临时bufferedImage

java - 尝试创建进度条

html - CSS 响应式,等边三 Angular 形,适用于 Firefox

flutter - Flutter中PopupMenuButton的自定义形状

java - Android MediaCodec 如何创建解码器?

java - java中如何设置打印页面的大小?