圆形点计数器 Java 或圆形进度条

Circular Point Counter Java or Circle Progress Bar

对于我的项目,我试图创建一个圆形进度条来显示用户有多少分。我目前有以下代码来创建圆圈。

public void Paint(Graphics g) {
    super.paint(g);

    Graphics2D g2 = (Graphics2D)g;
    g2.translate(80, 80);
    g2.rotate(Math.toRadians(270));
    Arc2D arc = new Arc2D.Float(Arc2D.PIE);
    arc.setFrameFromCenter(new Point(0, 0), new Point(80, 80));
    arc.setAngleStart(1);
    arc.setAngleExtent(-totalPoints*3.6);
    g2.setColor(Color.red);
    g2.draw(arc);
    g2.fill(arc);
}

我也在尝试从另一个文件创建它。我应该创建一个 JPanel 还是可以将它添加到标签中?另外,如果我使用面板,如何使用代码添加它?

我正在使用 gridbag 来设置位置,我没有使用拖放功能来创建 Netbeans 拥有的 JFrame 和 JPanel。

我假设您正在创建一个自定义组件,如下所示:

public class CircleProgress extends JComponent {

在这种情况下,要在另一个 Swing class 中使用它,您可以将其视为任何其他 Component,例如:

CircleProgress progress = new CircleProgress();
...

Panel p = new Panel();
p.setLayout(new BorderLayout());
p.add(progress, BorderLayout.CENTER);

将其添加到 Label 中而不是 Panel 中会很奇怪。