问题描述
如何在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).
有没有最简单的方法?
解决方法
所以所有四个都在面板的角度
您是指面板的四个角吗?
如果是,那么您知道:
- 您要绘制圆圈的大小
- 使用面板的
getWidth()
和getHeight()
方法来调整面板的宽度/高度。
但是我的主要问题是找到矩形左上角的坐标
画左上角很容易,因为圆圈总是从(0,0)开始。
因此,在paintComponent(...)
方法中,代码为:
g.FillOval(0,circleWidth,circleHeight);
要在底部/左侧绘制圆圈,您还知道x值为0,因此只需要计算y值即可:
int y = getHeight() - circleHeight;
g.fillOval(0,y,circleHeight);
相同的基本逻辑将应用于顶部/右侧和底部/右侧。