Problemas com contador de cliques

e o seguinte estou fazendo uma aplicação em swing e tenho que contar os cliques do mouse em um determinado JPanel para isto eu declarei um
private int countClick; este countClick e incrementado + 1 no metodo
mousePressed de listener o problema e que quando o usuario da 1 clique
ele incrementa 83 vezes o pq disso?

Made in NetBeans.

Exemplo rápido.

/*
 * NewJFrame.java
 *
 * Created on 27 de Maio de 2007, 23:04
 */

package javaapplication1;

/**
 *
 * @author  Cracatio
 */
public class NewJFrame extends javax.swing.JFrame {
    
     private int contador = 0;
    
    /** Creates new form NewJFrame */
    public NewJFrame() {
        initComponents();
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">                          
    private void initComponents() {
        jPanel1 = new javax.swing.JPanel();
        lbNum = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        jPanel1.setBackground(new java.awt.Color(255, 0, 102));
        jPanel1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jPanel1MouseClicked(evt);
            }
        });

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 100, Short.MAX_VALUE)
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 100, Short.MAX_VALUE)
        );

        lbNum.setText("jLabel1");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(38, 38, 38)
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(27, 27, 27)
                .addComponent(lbNum)
                .addContainerGap(201, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(25, 25, 25)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(29, 29, 29)
                        .addComponent(lbNum))
                    .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(175, Short.MAX_VALUE))
        );
        pack();
    }// </editor-fold>                        

    private void jPanel1MouseClicked(java.awt.event.MouseEvent evt) {                                     
            contador++;
            lbNum.setText(Integer.toString(contador));
    }                                    
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new NewJFrame().setVisible(true);
            }
        });
    }
    
    // Variables declaration - do not modify                     
    private javax.swing.JPanel jPanel1;
    private javax.swing.JLabel lbNum;
    // End of variables declaration                   

   
    
}

Post o código ai para que possamso ajudar melhor

public void paintComponent(Graphics g){
super.paintComponent(g);

  Graphics graph = g.create(); 
   
  if(forma != null)
	  forma.print(graph);
   
 if(TransferMain.getInstance().isChangeScale()){ 	
 	changeRectScale();
 TransferMain.getInstance().setChangeScale(false);
 }

 this.addMouseListener(new MouseAdapter(){
  		
 	public void mousePressed(MouseEvent e){
 	  Graphics pG = getGraphics().create();	
 	  scordsXY.setX(e.getX());
 	  scordsXY.setY(e.getY());
 	  listCordenadas.add(new Cordenada(scordsXY));
 	 if(TransferMain.getInstance().isPoligono()){
 	   if(!bfPoint){
 		 firstPoint.setX(e.getX());
 		 firstPoint.setY(e.getY());
 	   }
 	  if(listCordenadas.size() > 1){
 		 for(int i=1;i<listCordenadas.size();i++){
 		  int x1 = listCordenadas.get(i-1).getX();
 		  int y1 = listCordenadas.get(i-1).getY();
 		  int x2 = listCordenadas.get(i).getX();
 		  int y2 = listCordenadas.get(i).getY();
 		  pG.drawLine(x1, y1, x2, y2);	 
 		 }
 	  }
 	 }
 	 System.out.println(contClick++);
 	}
 	
    public void mouseReleased(MouseEvent e){
    	
    	 if(TransferMain.getInstance().isRetangulo()){	
    		desenhaRetangulo(e);
    	 }
    	 if(TransferMain.getInstance().isPoligono()){
    	   if(firstPoint.getX() == e.getX() && firstPoint.getY() == e.getY() && contClick > 2)
    		  poligno = new Poligno(listCordenadas);
    	 }
    }
 });