Вопрос по java – Есть ли простой способ нарисовать круг на JPanel?

1

У меня возникли проблемы при использовании метода drawOval (x, y, width, height), в котором предполагается, что значения x и y представляют координаты "левого верхнего угла овала, который нужно нарисовать". (Javadoc)

Я хочу, чтобы значения х и у представлялиcenter-point круга. Как мне это сделать? Спасибо

Ваш Ответ

1   ответ
2

если у вас есть ширина / высота, объявленная заранее, было бы использоватьdrawOval метод следующим образом:

drawOval( x - (width/2), y - (height/2), width, height);

Это гарантирует, что (x, y) находится в центре овала.

Зачем?

Предположим, что (x, y) равно (10, 10), и вы хотите нарисовать овал (высота, ширина) = (10, 10).

drawOval(x, y, height width);

Затем нарисовать верхний правый из овала в(10, 10), и нижний левый будет в (10 + 10, 10 + 10) =(20, 20).

С другой стороны, если вы используете

drawOval( x - (width/2), y - (height/2), height, width);

верхний правый овал будет нарисован в (10 - (10/2), 10 - (10/2)) =(5, 5) и дно будет нарисовано в (5 + 10, 5 + 10) =(15, 15), Центр тогда будет(10, 10) :)

Похожие вопросы