[RESOLVIDO]JDialog centralizado com setLocaltionRelative, Como centralizar?

Olha só, pelos tutoriais que peguei na net, era sugerido colocar o código no construtor da classe.
ficando:

super(parent, modal);
parent.setLocationRelative(null); //assim dava erro, usei this.setLocationRelative(null) e ficava no canto esquerdo da tela

Bom, entao no método main(), antes de instanciar a janela com .setVisivle() eu fiz:

dialog.setLocationRelative(null);
dialog.setVisible(true);

E então ficou centralizado corretamente!
Essa foi minha solução, obrigado a todos que ajudaram!

Olha só, procurei antes no fórum, encontrei várias soluções, testei todas, e optei pela que é mais resumida:
no construtor da gui, feita pelo netbeans, depois de super(parent, modal); eu coloquei:
this.setLocationRelative(null);

no javadocs fala que se for null o argumento, a janela centralizará de aconrdo com a resolução da tela. bom, eu uso tela 1024 x 768.

Acontece, que NUNCA FICA NO CENTRO! Sempre quando iniciado sem esse código, a janela aparece no canto superior esquerdo.
Com o código, as janelas menores ficam mais a DIREITA do que no centro da tela e no canto inferior direito, basicamente , o oposto da posição com a linha do código citado.

Como faço, pra que funcione em qualquer ambiente, qualquer resolução, para que a janela aberta, JDialog, fique centralizada?

Valeu!

Estranho com setLocationRelative(null) deveria funcionar.

Você pode fazer com mais código também:

	public void center(Container container) {
		Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
		
		container.setLocation((screen.width - container.getWidth())/2, (screen.height - container.getHeight())/2);		
	}

O método pack(); do JDialog (ou JFrame’s) deve ser executado antes da centralização de JDialog’s (ou JFrame’s).

O método na realidade é:

e não

Fora isso funciona perfeitamente.