While Bloquear usuario

Bom dia Pessoal,

Estou meio enferrujado no JAVA então preciso da ajuda, vamos começando a explicar o meu programa e o meu problema.

Primeiramente ele ainda não é POO.

Toda ação começa com uma tela onde terá 6 opções e através dela teremos outras opçoes, até aí tudo tranquilo, na opção 5 eu vou poder bloquear o usuario, e quando este usuario estiver bloqueado qualquer item que ele tente acessar irá gerar na tela que o usuario dele esta bloqueado, exceto se ele digitar a opção 5 que é onde ele solicita o desbloqueio, abaixo segue o codigo

	boolean menu = true;
	boolean block = false;
	    
	
	    while(menu=true) {
	    	
	    	while(block=true) {
				JOptionPane.showMessageDialog(null, "Seu acesso esta bloqueado");
				 int opcao = Integer.parseInt(JOptionPane.showInputDialog(null, "1) \n" + 
						"2) \n" + "3)\n" + "4) \n" + 
						"5) Bloquear / Desbloquear Usuario\n" + "6) \n" + "7) SAIR"));
					
				if (opcao==5) {
					  opcao = Integer.parseInt(JOptionPane.showInputDialog(null, "1) Bloquear Usuario\n" + "2) Desbloquear Usuario"));
					    if(opcao==1) {
						   JOptionPane.showMessageDialog(null, "Usuario bloqueado");
						   block=true;
					   }
					    if(opcao==2) {
							   JOptionPane.showMessageDialog(null, "Usuario desbloqueado");
							   block=false;
						   }					
				
	    	     }
	    	} \\Encerra o while do block

	int opcao = Integer.parseInt(JOptionPane.showInputDialog(null, "1) \n" + 
	"2) \n" + "3) \n" + "4)\n"+ 
	"5) Bloquear / Desbloquear Usuario\n" + "6) s\n" + "7) SAIR"));
	if (opcao==1) {
		
	  variavel = Integer.parseInt(JOptionPane.showInputDialog(null, "Informacao")); 
	  v2 = (result);
	}
	   if (opcao==2) {	
		   
	JOptionPane.showMessageDialog(null, variaveis);
	   } 
	  
	   if (opcao==5) {
	  opcao = Integer.parseInt(JOptionPane.showInputDialog(null, "1) Bloquear "
	  + "Usuario\n" + "2) Desbloquear Usuario"));
	  
	   if(opcao==1) {
		   JOptionPane.showMessageDialog(null, "Usuario bloqueado");
		   block=true;
	   }
	   
	   }
	  
	    if (opcao==7) {
		  	break;
		  }
	    	
	    }/*fecha while*/

Eu ja fico bloqueado ao iniciar o programa ou simplesmente nada acontece, ja tentei com IF mas tbm não funciona direito, parece que meu true or false não esta obedecendo.

Obrigado

o operador = é para atribuição, comparação é com ==

Obrigado

Resolvido