Fala pessoa!!
To com a seguinte duvida: eu tenho uma tela que chama um dialog, como faço pra que o dialog abra exatamente no meio da tela sobrepondo a tela que o chama? O meu dialog abre sempre no canto superior direito.
Obrigado!! Abç!!
Fala pessoa!!
To com a seguinte duvida: eu tenho uma tela que chama um dialog, como faço pra que o dialog abra exatamente no meio da tela sobrepondo a tela que o chama? O meu dialog abre sempre no canto superior direito.
Obrigado!! Abç!!
É identico à centralizar um JFrame, basta adicionar uma linha:
Se sua classe extende um JDialog:
public sua classe extends JDialog(){
public sua classe() {
setLocationRelativoTo(null);
}
}
Agora se ela é aberta em um novo jFrame basta fazer assim:
public sua classe extends JDialog(){
public sua classe(JFrame parent, boolean modal){
parent.setLocationRelativeTo(null);
super(parent, modal);
}
}
Espero ter ajudado
Andre
CAra eu fiz este metodo que vc regula o tamanho e onde vai aparecer.
da uma olha e ve se tu enetende eh bm simples
public void alinha() {
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension screenSize = tk.getScreenSize();
int screenHeight = screenSize.height;
int screenWidth = screenSize.width;
setSize((int) (screenWidth / 2), (int) (screenHeight / 2.3));
setLocation((int) (screenWidth / 3.7), (int) (screenHeight / 3.8));
}
Desculpe…uma correção…para os dois casos funciona apenas fazer como no primeiro exemplo.
Este metodo tambem funciona mas o setLocationRelativeTo(null) economiza boas linhas e dores de cabeça com coisas tipo “getSize” ou “getPreferedSize”…
Entende?
cara nao entendi nada do seu comentario
Acontece bastante com quem usa o Matisse do netbeans ou do myeclipse para gerar os forms…
Ele parametriza o size diferente do preferedSize oque acaba gerando uma dorzinha de cabeça escrevendo codigo para ter certeza do tamanho exato…Muitas veses você tenta recuperar o Size mas ele está diferente doque realmente está na tela…, e muitas veses até o PreferedSize está errado, pois ele no fim das contas se baseia em um parametro DesignerSize…, claro que esta dica não serve de nada para quem faz os forms na mão…
Mas o importante é que se dê preferencia ao setLocationRelativeTo(null), pois ele garante o posicionamento no centro da tela independente das medidas do form.
pq vc nao cria algo como um GeneralDialog, e faz todos seus Dialogs herdarem dele?
ai tu poe nele as caracteristicas que devem existir em todos os Dialogs ( ex: centralizar )
[]s