Рисование круга внутри списка действий

#java #swing #jframe #jpanel

Вопрос:

Я пытаюсь создать графический интерфейс на java с помощью Swing. Идея состоит в том, чтобы генерировать 6 элементов при нажатии кнопки. У меня есть следующий код:

  button.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        
    }
 

Теперь в рамках actionPerformed метода я хочу нарисовать круг. Проблема, с которой я сталкиваюсь, заключается в том, что объект paint, предоставляемый Swing, недоступен. Я думаю, что это необходимо для того, чтобы нарисовать круг.

Есть какие-нибудь идеи о том, как нарисовать круг внутри actionPerformed метода?

Комментарии:

1. Пользовательская покраска (например, для рисования круга) должна выполняться paintComponent(Graphics) методом а JPanel . Чтобы это произошло из прослушивателя действий, измените состояние переменной (например boolean drawCircle , от false до true ), доступной как paintComponent для методов, так и actionPerformed для методов, затем вызовите thePanel.repaint() paintComponent в результате этого будет вызван метод.