java - java中圆弧的半径

标签 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版); list 13.4示例;页码:489(522/1947)》中找到的

最佳答案

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

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

关于java - java中圆弧的半径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29659674/

相关文章:

java - 最大化时获取正常的 JFrame 边界

java - 基于某些业务逻辑在运行时显示/隐藏 Swing 组件的良好设计模式

jar - 一个独立的 (Windows) JRE?

java - Hazelcast::仅使用 Spring 配置一台主机

java - 有没有可以优化数学公式的工具?

java - 扩展 JFrame 时 JPanel 显示不正确

java - SetDefaultCloseOperation 参数之间有什么不同?

java - Maven问题更新和依赖项

java - 我的 'if' 语句无法正常工作

java - 如何解决 Swing GUI 错误?