Javaで引数の渡し方で勘違いしていたこと(前置き)
課題と暇をつぶすためにペイントみたいなものを作っていて、
ドラッグの始点と終点の座標で円をかけるようにしたんですが、問題が発生・・・
始点から右・下(座標正の方向)にドラッグする場合は問題なく円が描けるのに
左・上(座標負の方向)にドラッグした時にうまく描けませんでした。
これは、描画メソッドdrwOval(int x, int y, int width, int hight)が、
(x,y)を左上の頂点とする幅width,高さhightの長方形に収まる楕円を描くためで
下のような記述をしていたためうまくいきませんでした。
//st:始点 gl:終点でMoueseEventから取得する Point st, gl; //gl.x<st.x か gl.y<st.yのとき引数が負になって描画できない drwOval(st.x, st.y, gl.x - st.x, gl.y - st.y);
そこで2点を対角線としたときにこれらの座標を組み換えて、
st:左上, gl:右下になるように設定し直したんですが、
いざマウスドラッグすると、始点がずれて直線になってしまいます・・・。