画圆

问题描述

如何在java中绘制四个圆,所以所有四个都在面板的角度?我有半径a,但是我的主要问题是找到矩形的左上角的坐标。我在左下角找到了这个

g.filloval(0-(2*a/2-((int)(2*a/2*Math.sqrt(2)/2))),0-(2*a/2-((int)(2*a/2*Math.sqrt(2)/2))),2*a,2*a).

有没有最简单的方法

解决方法

所以所有四个都在面板的角度

您是指面板的四个角吗?

如果是,那么您知道:

  1. 您要绘制圆圈的大小
  2. 使用面板的getWidth()getHeight()方法来调整面板的宽度/高度。

但是我的主要问题是找到矩形左上角的坐标

画左上角很容易,因为圆圈总是从(0,0)开始。

因此,在paintComponent(...)方法中,代码为:

g.FillOval(0,circleWidth,circleHeight);

要在底部/左侧绘制圆圈,您还知道x值为0,因此只需要计算y值即可:

int y = getHeight() - circleHeight;
g.fillOval(0,y,circleHeight);

相同的基本逻辑将应用于顶部/右侧和底部/右侧。