Quebra de linha - Label [RESOLVIDO - MTO OBRIGADA A TODOS!]

Boa tarde pessoal,

Estou fazendo um programa no qual utilizo swing…

O problema que está ocorrendo é que eu não consigo fazer a quebra de linha…
:frowning:

Já tentei criar uma label para esta finalidade, mas não deu certo.

O que eu tenho é uma label e um buttom, mas quero que tenha uma quebra de linha entre eles… :?

O meu código está assim:

public class Formulario extends JPanel implements ActionListener{
	JButton button;
	
	JPanel panel;
	JFrame frameAbertura;
	JLabel label;

	public void montaFormulario(){
		label = new JLabel("Ordenadores");
		button = new JButton("Raiz");
		button.addActionListener(this);
		
		
		panel = new JPanel();
		panel.add(label);
		panel.add(button);
		
		
		frameAbertura = new JFrame("Seja bem vindo");
		frameAbertura.add(panel);
		frameAbertura.pack();
		frameAbertura.setVisible(true);
		
		frameAbertura.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}

	public static void main (String[] args){
		new Formulario().montaFormulario();
	}
}

Já tentei colocar:

label = new JLabel("Ordenadores\n\n");

E tbm, como eu disse criar uma nova label contendo “\n”…

Até mais, :wink:
Dina

Muitos componentes swing aceitam html em seu texto…

Experimente usar
para quebra de linha, por exemplo…

dina,

o seu problema está no seguinte. Todo container no Swing é preciso você definir um Layout Manager.

Veja estes links abaixo:

http://java.sun.com/docs/books/tutorial/uiswing/layout/using.html
http://java.sun.com/docs/books/tutorial/uiswing/layout/visual.html

1 curtida

Olá,

Renato, tentei colocar
e não deu certo tbm…

Petrônio, vou dar uma olhada nos links que vc me mandou…

Obrigada aos dois… :smiley:

Dina

Já tentou os caracteres de quebra de linha do java?

\b
\f
\n
\r
\t

Lí isso num livro, e achei interessante:
Para decorar os caractyeres de quebra de linha, lembre do seguinte:

Big Farmers Need Red Tractors”

:slight_smile:

“Big Farmers Need Red Tractors”
Gostei dessa, hehehe
:lol:

Obrigada,
Dina

Para usar html no JLabel é necessário colocar a tag <html> na frente.

Por exemplo:

label.setText("<html><body>Esse é um exemplo de label<br&gtcom HTML!</body></html>" );

Ok, fui meio preciosista. Dá para fazer só abrindo a tag HTML no começo, sem a tag body e sem fechar as tags.

1 curtida

Só uma dica. Se for usar uma fonte diferente da padrão (Dialog) no seu JLabel, veja se não fica um pouco diferente usando HTML e não usando HTML. Pelo menos para mim dava um pouquinho de diferença (mas normalmente uso HTML, porque posso pôr palavras em negrito e em vermelho, o que é difícil fazer sem HTML.)

Exemplo:

new JLabel (“Alerta vermelho!”);

Oieeeeeeee!

Fica sim!!! :smiley: :smiley:

Obrigada Vini e thingol!!

Mto obrigada pela dica!!! :wink:

Até mais,
Dina :slight_smile:

label.setText("<html>1 linha
2 linha </html>")

se vc pretende posicionar os componentes dentro do painel, use os Layout Manager (é bom estuda-los detalhadamente). Uma solução rápida é setar o layout p/ null e posicionar os objetos em lugares fixos:

public void montaFormulario(){
	label = new JLabel("Ordenadores");
	button = new JButton("Raiz");
	button.addActionListener(this);
 		
	panel = new JPanel();
	panel.add(label);
	panel.add(button);

	//O layout default de um container é FlowLayout, setando o layout p/ null
	//eu posso dizer o tamanho e as coordenadas dos objetos dentro do container.
	panel.setLayout(null);
	//tamanho e posicionamento dos objetos
	//setBounds(POSICAO_EIXO_X, POSICAO_EIXO_Y, LARGURA, ALTURA);
	//OBS. 1 - valores em pixel; 2 - posição (0, 0) é o canto superior esquedo do container. 
	label.setBounds(5, 5, 100, 20);
	button.setBounds(5, 30, 60, 20);
 		
	frameAbertura = new JFrame("Seja bem vindo");
	frameAbertura.add(panel);
	frameAbertura.setVisible(true);
 		
	frameAbertura.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

:smiley: :smiley: :smiley: :smiley:

Mto obrigada!!

Quero agradecer a todos do GUJ pela ajuda que me deram não só nessa pergunta, mas tbm em todas as outras…!!

Esse fórum é D++!! :smiley: :smiley:

Obrigada mesmo a todos!!
:wink:
Dina