Как нарисовать заполненный овал, где мышь щелкает по Jpanel - PullRequest
0 голосов
/ 15 ноября 2010

Я хочу написать код для рисования заполненного овала, где бы ни щелкала мышь внутри панели. Я имел обыкновение разрабатывать некоторые коды, но, к сожалению, когда я попытался сделать следующий щелчок, вся панель не работала, и появилась новая точка. Я хочу сохранить предыдущие пункты и добавить некоторые новые, нажав следующего пользователя на панели. Как мне реализовать компонент рисования MyPanel? Вот мой код; он не работает должным образом, потому что вместо прямоугольника выдает несколько маленьких точек.

class MyPanel extends JPanel {
Point pointClicked;

public MyPanel() {
     this.addMouseListener(new MouseAdapter() {
        @Override
         public void mouseClicked(MouseEvent e) {
             pointClicked = e.getPoint();
         }
     });
}
@Override
public void paintComponent(Graphics g) {
    super.paintComponent(g);
    g.fillRect(pointClicked.x, pointClicked.y, 1, 1);
}
}

1 Ответ

3 голосов
/ 15 ноября 2010

Я хочу сохранить предыдущие пункты и добавить несколько новых, щелкнув следующего пользователя на панели.

Вам необходимо отслеживать каждый окрашенный овал и перекрашивать каждый овалвремя вызова метода paintComponent ().

Проверьте Пользовательские подходы к рисованию для двух разных способов сделать это

...