componentes Swing: pergunta texto vertical
-
06-07-2019 - |
Pergunta
Se eu tiver um botão como o de esta imagem:
http://www.freeimagehosting.net/image.php? 4cd775814c.png
como eu poderia fazer a visualização do texto em si verticalmente? Como em
j B u t t o n 1
Eu gostaria de saber como fazer a mesma coisa para JLabel. Tenho certeza de que tem que haver uma maneira melhor do que criar tantos rótulos, pois há caracteres na cadeia. Certo?
EDIT: como posso inserir uma imagem em meu post? O botão para a imagem mostra a imagem na seção de visualização, mas quando eu realmente lançar os dados, eu só obter algum para trás o texto, como as marcas estão ficando confuso.
Solução
Você pode usar HTML para JButton ou JLabel. Então
button = new JButton("<html>J<br>b<br>u<br>t<br>t<br>o<br>n<br>1</html>");
deve fazer o truque.
Outras dicas
Eu não sei se isso é útil para você, mas esta amostra mostra como fazer um rótulo vertical. A diferença é que ele gira todo o texto (e / ou o ícone) em vez de empilhar as cartas. Eu não sei o quão difícil seria para modificá-lo para fazer o que você está pedindo.
A vantagem de fazê-lo desta maneira é se as etiquetas podem mudar em tempo de execução; gerando grandes cadeias de HTML pode ser uma dor em comparação com uma label.setUI(new VerticalLabelUI(true));
simples (e você não precisa se preocupar com <> no texto do rótulo).