2010-12-10 9 views
3

Je souhaite styliser une étiquette SWT standard en lui donnant une bordure pleine et en choisissant une couleur pour cette bordure. Je n'arrive pas à trouver un moyen de le faire en regardant en ligne. Est-ce que c'est même supporté? Tout ce que je peux sembler faire est juste d'appliquer le style SWT.BORDER, qui est une bordure d'effet 3D sur laquelle j'ai apparemment peu de contrôle.Comment ajouter une bordure de ligne continue à une étiquette dans SWT et modifier la couleur de la bordure?

Répondre

2

JFace Forms fournit le FormToolkit. Voir here. La classe privée BorderPainter (lignes 106-165) fait ce que Mario a déjà décrit dans sa réponse: la peinture personnalisée d'une bordure autour de votre widget. Pour le faire fonctionner, vous devez ajouter le BorderPainter, qui est un PaintListener, à votre parent de widget voir paintBordersFor(.) dans la ligne 798.

Je recommande de ne pas ajouter des formes JFace comme une dépendance si vous avez juste besoin peintre des frontières - bien trop lourd. Mais ce code devrait vous aider.

+7

Le lien est rompu. – Mot

2

Ajoutez un PaintListener à votre étiquette. Sur la méthode paintControl de cet écouteur, obtenez le GC de l'événement généré et, avec lui, dessinez un rectangle avec la même forme que votre étiquette.

Vous pouvez, en fait, dessiner n'importe quoi sur votre Label.

Questions connexes