2010-11-15 67 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

你可以添加一些你已经拥有的代码,也许有只是一些小错误。 – 2010-11-15 05:31:24

回答

3

我想保持以前的点和下一个用户的在面板上单击添加一些新的问题。

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

退房Custom Painting Approaches为两种不同的方式来做到这一点