Gostaria de saber se é possível centralizar um texto que está num jLabel em um jPanel.
Gostaria que o texto ficasse bem no meio do espaço do Painel,
alguém tem como me falar se isso é possível?
Se sim, como…
Obrigado.
Gostaria de saber se é possível centralizar um texto que está num jLabel em um jPanel.
Gostaria que o texto ficasse bem no meio do espaço do Painel,
alguém tem como me falar se isso é possível?
Se sim, como…
Obrigado.
Use o BorderLayout como layoutManager do JPanel e coloque o label no centro…
Primeiro centralize o teu JLabel em relação ao JPanel.
Depois centralize o texto do JLabel. Assim teu texto ficará bem no centro do JPanel.
Usei o layout e funcionou, obrigado!
Mais não consigo botar 2 jLabel…
Quer dizer até consigo, só que um dos jLabel fica muito pra cima, porque?
Eu não consigo abaixar a posição dele
não seria melhor pegar o tamanho do frame…
Dimension dimDoPainel= seuPainel.getSize();
int comprimento = dimdoPainel.getWidth();
int meioDoPainel =(int)( comprimento/2);
seuLabel.setLocation(meioDoPainel-metadeDoTamanhoDoLabel, posicaoHeightQueVoceDeseja);
Esse é o alinhamento em relação a horizontal.
Para alinha-lo em relação a vertical faça um ‘int meioDoPainel’ usando a variável com o método: dimDoPainel.getHeight();
Espero ter ajudado.
vc deseja coloca-lo no meio da reta x e y do painel?
Se sim, aquilo que te mostrei pode te ajudar.
O BorderLayout é utilizado mais para, vamos dizer, “grandes” componente. O que vc pode fazer é fazer um JPanel com todos todos os seus labels, utilizando um GridBagLayout ou GroupLayout e adicionar esse novo panel criado no centro com o BorderLayout.
Não recomendo pegar o tamanho do frame, pois vc poder ter efeitos indesejáveis ao redimensionar seu panel e para manter seu texto no centro vai ter que mexer com WindowListener entre outras coisas.
Ja descobri uma maneira melhor, pelo menos funcionou…
Eu crio o painel e boto as jLabel dentro ai depois boto o layout de bordas…
Ai vai da a confusão de uma ir pra cima e tals ai simplesmete eu apago o layout e fica centralizado!
addComponentListener(new ComponentAdapter() {
public void componentResized(ComponentEvent ce)
{
}
});
É só colocar a atribuição da posição do label nesse evento que toda hora que vc redimensionar o panel, o label será encaminhado para o centro dele