2010-11-15 1 views
0

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

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

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

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

Заканчивать Custom Painting Approaches для двух различных способов сделать это