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.