因此,对于我的项目,我正在尝试创建循环进度条以显示用户拥有的点数。我目前有以下代码来创建圆圈。
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。我正在使用严格的编码。
答案 0 :(得分:1)
我假设你正在创建一个自定义组件,如下所示:
public class CircleProgress extends JComponent {
在这种情况下,要在另一个Swing类中使用它,您可以将其视为任何其他Component
,例如:
CircleProgress progress = new CircleProgress();
...
Panel p = new Panel();
p.setLayout(new BorderLayout());
p.add(progress, BorderLayout.CENTER);
将其添加到Label
而不是Panel
会很奇怪。