java中弧的半径

时间:2015-04-15 19:56:01

标签: java swing

// The class for drawing arcs on a panel
1  class ArcsPanel extends JPanel {
2   @Override
3   protected void paintComponent(Graphics g) {
4     super.paintComponent(g);
5 
6     int xCenter = getWidth() / 2;
7     int yCenter = getHeight() / 2;
8     int radius = (int)(Math.min(getWidth(), getHeight()) * 0.4);
9 
10    int x = xCenter - radius;
11    int y = yCenter - radius;
12
13    g.fillArc(x, y, 2 * radius, 2 * radius, 0, 30);
14    g.fillArc(x, y, 2 * radius, 2 * radius, 90, 30);
15    g.fillArc(x, y, 2 * radius, 2 * radius, 180, 30);
16    g.fillArc(x, y, 2 * radius, 2 * radius, 270, 30);
17  }
18}

我不明白第8行。获得半径的公式的说明。从哪里得到0.4的半径公式?我没有找到配方。 找到弧的半径是不同的。

我是从" Java编程简介,综合版(第9版);清单13.4示例; (页数:489(522/1947)"

1 个答案:

答案 0 :(得分:2)

0.4似乎是一个相对值,意思是"角半径是宽度和高度的较小者的40%"。

编辑:这是一个完美的例子,为什么未注释的代码和魔术常量都很糟糕。通常,您可以使用变量或参数而不是魔术常量。