Java Swing - Невозможно использовать AWT Graphics для рисования круга. - PullRequest
0 голосов
/ 22 февраля 2020

Перед тем, как начать, обратите внимание, что я могу редактировать только разделы кода ниже. Я не могу редактировать какой-либо код в предоставленном файле jar.

У меня есть проект TurtleGraphics, в котором я выполняю команды, а затем черепаха следует этой команде.

Проект имеет зависимость, jar файл, который доступен по адресу https://github.com/dnorfolk8/StackOverflowHelp.

В соответствии с требованиями комментариев, документация для класса в файле jar доступна по адресу http://mullier.uk/LBU/OOP2020/JarDocumentation/index.html.

В моем проекте у меня есть 2 класса, класс с именем Main и класс с именем ExtendedTurtleGraphics - он использует наследование для расширения класса в файле jar. В классе ExtendedTurtleGraphics я использовал приведенный ниже код для переопределения метода в классе TurtleGraphics.

import uk.ac.leedsbeckett.oop.TurtleGraphics;
import java.awt.*;

public class ExtendedTurtleGraphics extends TurtleGraphics {

    @Override
    public void circle(int radius) {
        Graphics g = this.getGraphics();
        g.setColor(Color.red);
        g.fillOval(100, 100, (radius * 10), (radius * 10));
    }
}

В классе Main (код ниже) я вызываю метод с именем drawLine и метод с именем circle. Метод drawLine делает, как говорится, линию aws, с указанным цветом и из одной точки в другую. Тем не менее, круг не рисует на экране.

import javax.swing.JFrame;
import java.awt.*;

public class Main {

    public static void main(String[] args) {
        ExtendedTurtleGraphics gp = new ExtendedTurtleGraphics();
        JFrame MainFrame = new JFrame();
        MainFrame.add(gp);
        MainFrame.setSize(815, 480);
        MainFrame.setResizable(false);
        MainFrame.setVisible(true);
        gp.drawLine(Color.red, 10, 10, 60, 60);
        gp.circle(10);
    }
}

Я не уверен, как заставить нарисовать круг на графической панели. Буду признателен за любую помощь в решении этой проблемы.

Заранее благодарю за любые ответы.

...