@Override 
	public void paintComponent(Graphics g1) {
        super.paintComponent(g1);
        if (_field==null)
        {
        	return;
        }
        System.out.println("Repainting Drawing");
		System.out.println(_field.getWidth()+"|"+_field.getHeight());
        final Graphics2D g=(Graphics2D)g1;
        g.setRenderingHint ( RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
        for (int x=0;x<_norm.length;x++)
        {
        	for (int y=0;y<_norm[x].length;y++)
        	{
        		drawPoint(x,y,g,_norm);
        	}
        }
        if (_showVectors)
		{
        	final Charge2D[][] vectorField = _field.getField();
        	for (int x=10;x<vectorField.length;x+=10)
            {
            	for (int y=10;y<vectorField[x].length;y+=10)
            	{
            		Vector2D unit=vectorField[x-5][y-5].getVector().getUnitVector();
                    Vector2D v=unit.clone();
                    v.scale(20);
                    unit.scale(-10);
                    v.add(unit);
                    g.setColor(Color.GREEN);
                    drawArrow(g,x, y, (int)(x+v.getX()), (int)(y+v.getY()));
            	}
            }
		}
    }