Layout login swing

5 respostas
Fabricio_maia

Oi!

galera estou fazendo um area para Login da seguinte forma

Tenha uma class login com 4 Labels um JTextField um JPasswordField um JPanel e um Jbutton

O meu JPanel tem uma cor de fundo branca e dentro dele eu coloco meus componentes

adcionar os componentes e dar as funcionalidades ao login eu sei fazer, o que eu nao sei é posicionar o elementos exatamente onde eu quero o login funciona mas os componentes GUI não ficam organizados do jeito que eu quero.

por exemplo:
a primeira label deve ser a label de Titulo dentro do panel, ex:“Sistema de Contas”.

a segunda label deve ficar ao lado esquerdo do panel contendo uma logo

a terceira e a quarta label devem ficar ao centro uma abaixo da outra

ao lado da terceira label que e a label “Usuario” deve ficar o JTextField

ao lado da quarta label que e a label “Senha” deve ficar o JPasswordField

e logo abaixo o botao “login”

as funcionalidades eu sei fazer o login esta funcionando valida o usuario corretamente só esta desorganizado.

nao quero fazer usando as ferramentas do NetBeans foi quero aprender como fazer esse posicionamento manualmente

Alguem pode me ajudar?

5 Respostas

ViniGodoy

Usando os gerenciadores do Java:
http://download.oracle.com/javase/tutorial/uiswing/layout/using.html
http://download.oracle.com/javase/tutorial/uiswing/layout/visual.html

Usando um bom gerenciador de terceiros, o MigLayout:
http://www.miglayout.com/QuickStart.pdf

Rummenigge

Use um setLayout(null) no JPanel, ai você pode colocar os componentes em qualquer lugar do painel, só é um pouco chato.

JPanel painel = new JPanel();

painel.setLayout(null);

painel.add(botao);

botao.setBounds(X, Y, LARGURA, ALTURA);

/* Coordenada de X em relação ao painel.

  • Coordenada de Y em relação ao painel.
  • Largura e altura do componente
    */
ViniGodoy

Cuidado. Essa é uma péssima idéia:

  1. As aplicações não ficam multiplataforma. Podem até quebrar entre diferentes versões do Windows;
  2. As janelas não ficam redimensionáveis. E, se você quiser assim, vai ter que escrever muito código;

Use gerenciadores de layout. Dão um pouquinho mais de trabalho para aprender, mas só de você ganhar de graça a funcionalidade do item 2, vale muito à pena.

Fabricio_maia

Muito obrigado pela a dica do setBounds()

E eu tambem vou dar uma olhada nos gerenciadores de layout

valeu vcs me ajudaram muito!!!

:stuck_out_tongue:

Rummenigge

Valeu ai ViniGodoy, não sabia que poderia acontecer isso :

“1. As aplicações não ficam multiplataforma. Podem até quebrar entre diferentes versões do Windows;”

Geralmente utilizo o setlayout(null) para janelas não redimensionáveis, mas vou utilizar mais os gerenciadores de layout devido todos serem objetos.

FLW.

Criado 22 de novembro de 2010
Ultima resposta 23 de nov. de 2010
Respostas 5
Participantes 3