Como faço 'tabulação' dentro do JLabel?

4 respostas
cassioso

Saudações,

Alguém aí sabe como colocar um caracterer de tabulação dentro de um JLabel?

algo como

JLabel label = new JLabel(); label.setText("pelos\tpoderes\tde\tgrayskull");

O texto deste JLabel aparece:

pelospoderesdegrayskull

Como faço “tabulação” dentro do JLabel?

4 Respostas

_fs

Por que precisa fazer isso? Por que não usar espaços? Por que não alinhar o componente no layoutmanager?

cassioso

Se eu utilizar espaços, o texto perde o alinhamento e sai do lugar.

Por exemplo:

...
label.setText("Caps Lock: "+ getTxtCapsLock() + " - Mais informações...");
...

private String getTxtCapsLock(){
   if(...)
      return "LIGADO";
   else
      return "DESLIGADO"
}

O resultado, ligado e desligado respectivamente, na barra de status seria o seguinte:

Caps Lock: Ligado - Mais informações...
Caps Lock: Desliigado - Mais informações...

Quando o " - Mais.." deveria ficar sempre no mesmo lugar.

OBS.: Aqui também não funcionou o TAB :p Copiei o tab de um arquivo texto e colei aqui, ele escreve no modo de edição, mas não aparece quando o post é publicado.

Ou seja, na mudança de texto há um deslocamento do texto seguinte. Com um "tab" entre eles não haveria este deslocamento, pois o texto seria ajustado*.

Poderia resolver utilizando o componente JXStatusBar de swingx - aliás, é o que já fiz - mas a questão não é o status bar.. E sim como faço tabulação dentro do JLabel. Não dá para alinhar com espaço. teria que calcular o tamanho de cada texto, e o espaço em que eles se relacionariam com os outros textos subsequentes, fazer um monte de if, etc..

* Há um limite para este ajuste. Se não me engano, de até 8 caracteres.

Shelson

Não entendi sua pergunta. Vc poderia ser mais sintético ?

cassioso

Execute esses dois trechos de código e veja a diferença na forma como o texto é exbido.

e

Nota-se que a marcação ‘\t’ (que deveria indicar tabulação, o efeito que sua tecla Tab faz no notepad por exemplo) não funcinoa dentro de um JLabel.
Quero saber como faço o ‘\t’ funcinoar dentro do JLabel ou algum substituto para ele que tenha o mesmo efeito.

Criado 1 de julho de 2008
Ultima resposta 8 de jul. de 2008
Respostas 4
Participantes 3