Problemas - Swing

Galera, veja se pode me ajudar por favor… O meu programa não inicia a inclusão dos componentes no começo da tela do JFrame. Ele inicia a partir do meio da tela, como posso controlar isso?? Abaixo estão 2 trechos do código, a definição do Frame e a inclusão dos objetos. Desde já agradeço qualquer ajuda!!

Inicialização do Frame

InterfaceGrafica () throws ParseException {
	System.out.println("Conexão Estabelecida");
	dataMask = new MaskFormatter("##/##/####");
	dataMask.setValidCharacters("0123456789");
		
	licencaMask = new MaskFormatter("######");
	licencaMask.setValidCharacters("0123456789");
	
	telefoneMask = new MaskFormatter("(##)####-####");
	telefoneMask.setValidCharacters("0123456789");
		
	horarioMask = new MaskFormatter("##:##");
	horarioMask.setValidCharacters("0123456789");
	
	setTitle ("Controle de Ligações");
	setBounds (500, 100, 550, 490);
	setLocation(150,150);
	setResizable(false);
	getContentPane().setBackground(Color.gray);
	this.setVisible(true);
	this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	layout = new GridBagLayout();
	setLayout(layout);
	telaCadastrar();
}

telaCadastrar();

[code]
add("Data: ", dataField);
add("Licença: ", licencaField);
add("Razão: ", razaoField);
add("Usuário: ", usuarioField);
add("Telefone: ", telefoneField);
add("Horário Inicial: ", horarioInicialField, "Horário Final: ", horarioFinalField,"Duração: ", duracaoField);
add("Problema: ", problemaField);
add("Solução: ", solucaoField);
add(incluirButton);
add(icancelarButton);
add(limparButton);
(/code]

Cara, se eu não me engano, sua tela está se comportando dessa maneira por causa do gerenciador de layout que você setou nela, GridBagLayout.
Dá uma pesquisada na API que lá explica sem deixar dúvidas de como se comporta cada tipo de layout pré-definido pelo Java…

[]'s.

Mas eu preciso mesmo utilizar o GridBagLayout… A questão é: Como controlar isso dentro do GridBagLayout??? Já tentei forçar através dos métodos de posicionamento do GridBagLayout mas ele não respeita, não sei o que fazer = /

Cara, pelo que eu andei verificando, você cocnsegue alterar esse comportamento configurando as chamadas “Constraints” do seu GridBagLayout. Aí vai um link que pode te ajudar a entender isso melhor e resolver os seus problemas…

http://bioportal.weizmann.ac.il/course/prog2/tutorial/uiswing/layout/gridbag.html

[]'s.

Então, eu já coloquei CONTRAINTS.NORTHWEST que deveria iniciar no canto superior esquerdo, mas não da certo… Tem alguma outra coisa influenciando, mas não sei o que eh… Ja fiz de tudo…

Desculpem a insistência, mas alguém poderia me ajudar?? = /

GridBagLayout é encrenca
Usa o JGoodies Forms

Olá Amiguinho,

eu recomendo que você use o SpringLayout, eu uso ele, e na minha opinião, ele é o melhor e um dos mais poderosos gerenciadores de layout. Eu estou escrevendo um artigo sobre ele, e devo termina-lo em breve.

Bom existe a opção de setar o gerenciador de layout pra null (famoso NullLayout)… se fizer isso vc terá q controlar na unha a posição de cada componente… nao encorajo vc a usar, mas o caso seja extremo e vc precise colocar componentes onde até deus duvida, então é esse o caminho :smiley:
Mas Atenção, não faça disso uma prática!

Bom, eu inicialmente fiz meu programa em GridLayout e FlowLayout, aí me passaram o GridBagLayout, agora, darei uma olhada no SpringLayout… De qualquer forma, estou aprendendo tudo quando é ferramenta heheh, valeu galera, abraços…