如何绘制一个填充的椭圆形鼠标点击Jpanel

时间:2010-11-15 05:29:46

标签: java swing java-2d

我想编写一个代码来绘制一个填充的椭圆形,只要在面板内单击鼠标。我曾经开发过一些代码,但不幸的是,当我试图进行下一次点击时,整个面板被消隐,出现了新的点。我想保留以前的点,并在下一个用户点击面板时添加一些新点。如何实现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 个答案:

答案 0 :(得分:3)

  

我希望保留以前的观点,并在下一位用户点击面板时添加一些新点。

每次调用paintComponent()方法时,您需要跟踪绘制的每个椭圆并重新绘制所有椭圆。

查看Custom Painting Approaches有两种不同的方法