Centralizar Frame

3 respostas
L

Olá para todos.

meu problema é que estou tentando colocar o frame no centro da tela e não estou conseguindo…

já vi vários tópicos aqui e em outros fóruns tbm, quase todos dizem a mesma coisa, que devo
usar a propriedade “setLocationRelativeTo(null);” , mas não funciona. Assim o que acontece com a
aplicação é que ela fica no canto direito inferiror do desktop, isso em várias resoluções…

tbm já um pessoal que colocou um código que pegava o getScreenSize() e outras classes como Dimension e
depois dividia o width e heigth por 2… mas tudo isso obteve o mesmo resultado de setLocationRelativeTo(null)

Afinal, qual é a maneira correta de deixar um frame centralizado na tela???

Agradeço desde já

3 Respostas

rodpuc
public class Janela extends JFrame {  
   Dimension tela = Toolkit.getDefaultToolkit().getScreenSize();  
  
   public Janela()  {  
     setSize(300,180); //ponha aqui suas medidas  
     setLocation((tela.width - this.getSize().width)/2,   
                       (tela.height - this.getSize().height)/2);  
    }  
 }

deve funcionar

R

Sempre usei JFrame.setLocationRelativeTo(null) e JDialog.setLocationRelativeTo(null) e jamais tive problemas. Porém, a técnica do rodpuc é igualmente válida.

L

Obrigado pessoal, o código do rodpuc funcionou perfeitamente.
agradeço

Criado 28 de setembro de 2009
Ultima resposta 28 de set. de 2009
Respostas 3
Participantes 3