2011-05-05 5 views
3

Eh bien, le titre l'indique.JToggleButton avec texte souligné

Dans NetBeans, je peux changer la police d'un JToggleButton, mais il n'y a que des options pour le gras et l'italique, mais pas pour le texte souligné. Je suppose que ce n'est pas strictement une propriété de police, mais je ne peux pas savoir comment le faire.

Répondre

7

Vous pouvez utiliser le HTML pour rendre de nombreux composants dans Swing (voir How to Use HTML in Swing Components), vous pouvez donc créer une chaîne avec le texte souligné et appeler JToggleButton.setText(String) ou JToggleButton(String). Par exemple

new JToggleButton("<html><u>" + textToUnderline + "</u></html>"); 

(Cette balise de fermeture </html> est facultative par la voie, bien que j'incluons toujours).

+2

Notez également que l'utilisation de HTML empêchera l'alignement des lignes de base (tel qu'utilisé par plusieurs LayoutManagers) de fonctionner correctement. Je recommande toujours fortement de ne pas utiliser le HTML dans les composants Swing. Dans le contexte actuel, je suppose qu'on pourrait sous-classer JToggleButton et surcharger paintComponent() ou éventuellement travailler au niveau LAF (mais c'est plus difficile). – jfpoilpret

+0

Oups! Corrigée. –