2

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();
}
4

1 に答える 1

4

Rectangle2Dは (x,y,width,height) で構築されます。あなたはそれを与えています(x1、y1、x2、y2)。試す:

Rectangle2D rectangle = new Rectangle2D.Double(a, b, a2-a, b2-b);
于 2013-01-22T21:39:00.970 に答える