JFrame escurecido quando sem foco

Bom dia a todos.

Estou desenvolvendo uma tela de login para minha aplicação (foi algo que não previ esta tela de login para a aplicação por que senão eu usaria um layout de cartão - mostro o JPanel de login… E depois de logado, mostro o Panel da aplicação).

Enfim, como não estou com coragem de mudar todo o visual da aplicação, queria fazer um JDialog modal que será carregado acima da aplicação quando o cara acessar uma tela restrita.

Porém, eu queria deixar o JFrame principal (que foi de onde o JDialog foi chamado) como fosco ou meio escurecido! Sabe aquele efeito que tem nos sites quando você abre uma página e ela carrega uma propaganda com o botãozinho de fechar? O conteúdo atrás da página fica meio escurecido!

Tipo o site: http://www.hotelurbano.com/landing/institucional-d.html?cmp=697

Tem como fazer isso em JAVA Desktop?

Agradeço a atenção!

leofdasilva o que você pode tentar fazer é desenhar um componente que possua opacidade setável em cima de toda a tela. É gambiarrado, mas funciona.

Segue exemplo de JPanel implementado com opacidade.


JPanel panel = new JPanel()
	{
	    protected void paintComponent(Graphics g)
	    {
	        g.setColor( getBackground() );
	        g.fillRect(0, 0, getWidth(), getHeight());
	        super.paintComponent(g);
	    }
	};
	panel.setOpaque(false);
	panel.setBackground( new Color(0,0 , 0, 100) );