Problemas - Swing

9 respostas
thundercas

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("[telefone removido]");
		
	licencaMask = new MaskFormatter("######");
	licencaMask.setValidCharacters("[telefone removido]");
	
	telefoneMask = new MaskFormatter("(##)####-####");
	telefoneMask.setValidCharacters("[telefone removido]");
		
	horarioMask = new MaskFormatter("##:##");
	horarioMask.setValidCharacters("[telefone removido]");
	
	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]

9 Respostas

kaique

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.

thundercas

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 = /

kaique

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.

thundercas

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…

thundercas

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

fabiofalci

GridBagLayout é encrenca
Usa o JGoodies Forms

araujo921

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.

A

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!

thundercas

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…

Criado 24 de fevereiro de 2008
Ultima resposta 2 de mar. de 2008
Respostas 9
Participantes 5