Imprimir Quadrado[RESOLVIDO]

Olá,sou iniciante em java, estou aprendendo com o livro java como programar, e me deparei com um erro(um erro não-fatal).
ele pede no exercicio que seja feito um programa que desenha um quadrado, a partir de um lado que você vai dar no codigo

por exemplo , eu forneço um lado 2 o programa deveria imprimir(2 jogos da velha na horizontal e na vertical)

mas ao inves disso ele imprime um retangulo e com uma altura igual a base ao quadrado.
eu realmente nao vejo oque há de errado com o codigo,mas continua dando erro.

imprime isso:

public class Quadrado {
	private int Count = 0;
	private int Lado;
	private String Form = "";
	
	public int getLado() {
		return Lado;
	}

	public void setLado(int lado) {
		Lado = lado;
			
		}
	
	public String Form()  {
		
		while(Lado > Count ) {
	Count++;
	Form = Form + "    #";
	}
	Count = 0;


             while(Lado > Count) {         
        Count++;
	Form = Form + "\n" + Form;
	}
	
	   
return Form;
   }


}

e o metodo main:

import javax.swing.JOptionPane;
public class Quadradorun {

	public static void main(String[] args) {
		Quadrado Q = new Quadrado();

		Q.setLado(Integer.parseInt(JOptionPane.showInputDialog("Informe um Lado do quadrado para que seja possivel desenha-lo")));
		JOptionPane.showMessageDialog(null,Q.Form());
		
		
		}
		
		
		
		
}

P.S:ainda nao testei no cmd, só na IDE mesmo,talvez seja problema com a IDE ja tive problema com retorno de carro “\r” do eclipse,mas se encontrarem algum equivoco no codigo por favor avisar.

O que diabos vc está chamando de lados? Até onde eu sei, um cubo tem seis lados, e um quadrado só 2 (o da frente e o de trás).

Você pode estar falando da lateral do quadrado, nesse caso, ele só teria 4. Um hexagono 6. Um octogono 8, e assim por diante.

POr que vc não usa 2 for aninhados?
Assim vc teria as coordenadas x e y mais facil de trabalhar:

for(int y=0; y< numero_recebido; y++)// numero de linhas
{
  for(int x=0; x< numero_recebido; x++)// numero de colunas
  {
     escreve "#";
  }
 escreve "\n"
}

obrigado luiz,apesar de eu nao saber porque meu metodo deu errado vou por como resolvido e usar o seu metodo nessa ocasiões.

	public String Form()  
	{		

		while(Lado > Count ) 
		{
			Count++;
			Form = Form + "    #";
		}
		Count = 0;
		while(Lado > Count) 
		{         
        		Count++;
			//Form = Form + "\n" + Form; // o erro tá aqui. Isso dobra o tamanho
		}
		return Form;
	}

Esta solução que vc pensou é bem mais interessante que os for aninhadas que lhe mostrei.
Para corrigir seu codigo acho que vc fazer algo assim:

	public String Form()  
	{	
		String result="";
		String linha="";	
		while(Lado > Count ) 
		{
			Count++;
			linha += "#";
		}
		Count = 0;
             	while(Lado > Count) 
		{         
        		Count++;
			result+=linha+"\n";
		}
		return result;
	}