#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
в результате этого будет вызван метод.