当前,当单击按钮时,圆将在 g.fillOval(getWidth()/2 - 50, getHeight()/2 - 50, radius, radius);
这里我有:
private class DrawPanel extends JPanel {
private int radius;
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.fillOval(getWidth()/2 - 50, getHeight()/2 - 50, radius, radius);
}
最佳答案
你的问题不是很清楚,而且你发布的代码太多了,所以让我概括一下。
当您使用 Graphics#fillOval
绘制圆形时,引用点是椭圆形所内接的正方形的左上角。
因此,如果您想使用中心作为引用,则应在给定半径 r 的情况下绘制:
(xCenter - r, yCenter - r, r*2, r*2)
此外,由于它是一个圆形,请考虑使用 Graphics2D
并启用抗锯齿功能。
这是执行此操作的文档:
https://docs.oracle.com/javase/tutorial/2d/advanced/quality.html
关于java - 如何使用 Graphics#fillOval 的中心作为引用在中心绘制随机圆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39944147/