os JTextField ficam jogados na tela estou procurando um modo de fazer com que eles fiquem presos na posição que eu quiser
algo tipo que eu passe os parâmetros x,y e ele se posicione no lugar certo, do jeito que esta eles vem um em seqüencia do outro
qualquer ajuda eu agradeço
importjava.awt.FlowLayout;importjavax.swing.JFrame;importjavax.swing.JTextField;importjavax.swing.JComboBox;publicclassFormularioextendsJFrame{/** * */privatestaticfinallongserialVersionUID=1L;privateJTextFieldnome;privateJTextFieldendereco;privateJTextFieldcidade;privateJTextFieldbairro;privateJTextFieldCEP;privateJComboBoxUF;publicFormulario(){super("formulario");setLayout(newFlowLayout());nome=newJTextField(20);add(nome);// nome.setBounds(100,100,100,100); pelo q eu axei na net seria algo assim mais da erradosetLayout(newFlowLayout());endereco=newJTextField(20);add(endereco);setLayout(newFlowLayout());cidade=newJTextField(20);add(cidade);setLayout(newFlowLayout());bairro=newJTextField(20);add(bairro);setLayout(newFlowLayout());CEP=newJTextField(8);add(CEP);}}
Alguém pode ser que te dê a sugestão de usar o setLayout(null) e o setBounds. Apesar disso parecer funcionar (e, realmente, vc posiciona os componentes exatamente onde você quer), faz com que as telas não sejam redimensionáveis, nem multiplataforma, nem suportar vários look&feels.
vlw pela ajuda
vou estudar sobre
de inicio esta parecendo bem complicado
mais se tudo fosse fácil perderia a graça
bora estuda :roll:
J
juno.rr
Olá.
Eu uso o TransparentLayout (https://transparentlayout.dev.java.net/). É muito bom, multiplataforma, mas não testei diferentes LookAndFeels com ele.
É bem simples de usar, já que vc especifica o tamanho e o lugar dos componentes:
Vale a pena testar. Uso ele com o Netbeans e a produtividade aumentou muito.
A
alisson027
não funcionou aparece o erro
Access restriction: The constructor TransparentLayout() is not accessible due to restriction on required library C:\Program Files\Java\jre6\lib\ext\transplayout-1.01.jar
nessa parte do codigo
panel.setLayout(new TransparentLayout()); mais especificamente ainda no new TransparentLayout()
J
juno.rr
Vc tem acesso completo nesta pasta? Verifique as permissões do windows ou experimente colocar o .jar na pasta do projeto.
V
ViniGodoy
Eu já tinha ouvido falar nesse layout manager. Para uma aplicação mais séria, ainda acho o MigLayout mais produtivo. E também gosto da alternativa de combinar BorderLayout + GridLayout + FlowLayout, pois também tem boa produtividade (se você usar um editor visual, lógico) e gera um .jar sem dependências, funcional antes da versão 5.
C
Claudivan
E aí boy?
Para resolver este problema que também enfrentei, eu simplesmente faço o seguinte:
Vamos do começo!
- Suponha que você crie um classe chamada Cadastro e que essa classe extendes JFrame. Feito isso, a classe Cadastro agora é um JFrame, ou seja, todas as propriedades
de JFrame agora estão em Cadastro.
- Já no construtor da classe Cadastro você pode definir valores para uma série de métodos de JFrame como por exemplo, o título(super("String")), o tamanho(setSize(int y, int x)), se a
a janela será redimensionável ou não (setresizable(boolean)), sua localização no seu monitor (setLocationRelativeTo(null), se você setar esse método com null a localização será no centro da tela)
e ainda dá pra definir o Layout da janela.
- Pra fazer o que você quer você pode chamar o método setLayout() e setar ele como null. Assim, você mesmo é quem configura aonde deseja posicionar os seus componentes.
- No seu caso, use a varialvel do componente que você quer posicionar pra chamar o método setBounds(int x, int y, int largura, int altura). Com esse método você além de posicionar
o seu componente na janela escolhe também a sua largura e a sua altura.
- Pra fazer o que você quer você pode chamar o método setLayout() e setar ele como null. Assim, você mesmo é quem configura aonde deseja posicionar os seus componentes.
No seu caso, use a varialvel do componente que você quer posicionar pra chamar o método setBounds(int x, int y, int largura, int altura). Com esse método você além de posicionar o seu componente na janela escolhe também a sua largura e a sua altura.
Essa sua dica tem os seguintes problemas:
Não gera telas redimensionáveis. E isso é completamente fora do padrão de telas de todos os sitemas operacionais. De fato, o mínimo suporte a isso exige muita programação no null layout;
Não tem suporte multiplataforma. Os layouts podem quebrar até mesmo em variações de um mesmo SO, como do XP para o Vista;
Não suporta múltiplos look&feel;
Usar o null layout é considerado uma péssima prática de programação, e não é recomendado que se faça isso em nenhuma aplicação Swing séria.