Como centralizar sempre um jLabel em um JFrame Swing?

3 respostas
V

Galera, tenho uma tela que tem um jLabel que é um texto, e esse texto altera de acordo com a classe que chama ela… eu queria centralizar sempre o texto na tela, é possível???

3 Respostas

F

Vai depender do gerenciador de layout que você está usando para adicionar o JLabel no JFrame…
Tipo: se você criar um JPanel e mudar o layoutManagem dele pra flowLayout centralizado, depois
adicionar o JLabel no JPanel e na sequencia o JPanel no Frame, a bagaça vai ficar sempre centralizada…

JFrame frame = new JFrame();
JPanel panel = new JPanel(new FlowLayout(FlowLayout.CENTER));
JLabel label = new JLabel(Meu Texto Centralizado!);

panel.add(label);
frame.add(panel, BorderLayout.NORTH);
V

pior que eu sempre uso layout livre… a GUI do netbeans 6.9.1 sempre ajuda a deixar alinhado…

não teria algum método que pega-se o tamanho da tela e pega-se o tamanho do jLabel e fizesse umas contas doidas pra alinhar?, pelo menos sabe em qual comando eu posso mandar colocar com precisão o JLabel… exemplo… jLabel.setPosition(100,220); posição x 100 e y 200… assim eu mesmo inventaria a conta

V

vitorkgb:
pior que eu sempre uso layout livre… a GUI do netbeans 6.9.1 sempre ajuda a deixar alinhado…

não teria algum método que pega-se o tamanho da tela e pega-se o tamanho do jLabel e fizesse umas contas doidas pra alinhar?, pelo menos sabe em qual comando eu posso mandar colocar com precisão o JLabel… exemplo… jLabel.setPosition(100,220); posição x 100 e y 200… assim eu mesmo inventaria a conta

Pra que facilitar se dá para complicar, não é mesmo?
Coloque apenas um único painel com o FlowLayout que o colega indicou.

Outra possibilidade é colocar um JLabel com o tamanho de toda a extensão do JFrame, e então definir o horizontal aligment para CENTER.

Espero que por layout livre você esteja se referindo ao GroupLayout (padrão do Matisse) e não ao Null Layout (layout que não é multiplataforma e que usa o comando setBounds).

Criado 28 de março de 2011
Ultima resposta 29 de mar. de 2011
Respostas 3
Participantes 3