Frame Centralizado

9 respostas
A

A pessoal, acredito que isso não seja muito complicado, mas não estou achando solução, alguém sabe como eu posso fazer para centralizar o JFrame na tela.

9 Respostas

S

Cara faz assim …

E bingo … ele está centralizado na tela…

Falowww

T+

:smiley:

T
import java.awt.Container;
import java.awt.Rectangle;

import javax.swing.JFrame;


public class Teste extends JFrame {

	/**
	 * @param args
	 */
	
	public Teste() {
		Container c = this.getContentPane();
		Rectangle r = this.getGraphicsConfiguration().getBounds();
		
		Double altura = new Double(r.getHeight());
		Double largura = new Double(r.getWidth());
		
		this.setBounds( 
				(largura.intValue()-800)/2, //calcula a posição X 
				(altura.intValue()-600)/2,  //calcula a posição Y
				800, //largura da janela
				600);//altura da janela
		this.setVisible(true);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
	}
	
	public static void main(String[] args) {
		new Teste();

	}

}
M

frame.setLocationRelativeTo(null);

A

Valeu mesmo, eu achava que era um para simples não estava conseguindo.
Brigadão.

G

hehehe… que coisa fácil…

Eu usava assim

[color=darkblue]//Pega o tamanho da tela
	Toolkit toolkit = Toolkit.getDefaultToolkit();
	Dimension screenSize = toolkit.getScreenSize();

//Calcula a posição do frame a partir da resolucao usada
	int x = (screenSize.width - frame.getWidth()) / 2;
	int y = (screenSize.height - frame.getHeight()) / 2;
	
//Define a posicao (centralizada)
	frame.setLocation(x, y); */[/color]
E

silva.fernandes:
Cara faz assim …

E bingo … ele está centralizado na tela…

Falowww

T+

:D

Na mosca!

W

Kkk…
Cada dia mais fácil de programar e eu ainda usava também:

Dimension tela = Toolkit.getDefaultToolkit().getScreenSize();
this.setLocation((tela.width - this.getSize().width) / 2, (tela.height - this.getSize().height) / 2);

Este jeito ai é bem melhor, menos código e menos dois imports… =D

Valeu… ;D

R

to fazendo uma página em frame, dentro desse frame tem os outros frames. Queria centralizar esse primeiro frame.
Devo usar onde esse codigo (http://www.guj.com.br/posts/reply/0/47906.java)?

S

Lembrando que o .setLocationRelativeTo(null) só funciona depois que você definiu o tamanho da tela. E no caso de um JInternalFrame você deverá utilizar o algoritmo que o colega de cima postou (que pega a altura e a largura e divide por 2). Aprendi isso aqui mesmo no fórum com outros colegas. rsrsrs.

Criado 11 de dezembro de 2006
Ultima resposta 19 de jan. de 2012
Respostas 9
Participantes 9