Счетчик круговых точек Java - PullRequest
0 голосов
/ 07 мая 2018

Так что для моего проекта я пытаюсь создать круговую шкалу прогресса, чтобы показать, сколько очков имеет пользователь. В настоящее время у меня есть следующий код для создания круга.

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 для установки местоположений, и я не использую функцию перетаскивания для создания JFrame и JPanels, которые есть у netbeans. Я использую строго кодирование.

1 Ответ

0 голосов
/ 07 мая 2018

Я предполагаю, что вы создаете пользовательский компонент, что-то вроде этого:

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.

...