2010-09-03 20 views
3

Je travaille sur un programme de swing pour afficher plusieurs images. Et on peut faire pivoter l'image (mis en œuvre chacun comme JComponent).Swing rotation de la bordure

Problème: lorsqu'une image est pivotée, la bordure du JComponent ne change pas pour que l'image soit tronquée.

Y at-il un moyen de tourner également la bordure de sorte que l'image peut être entièrement dessinée?

(Je sais que l'on peut calculer la nouvelle taille de la bordure, mais elle laisse un espace vide sur le bord: lorsqu'une image pivotée chevauche une autre et que l'on veut déplacer celle en dessous, on ne peut pas faire être passé à l'image ci-dessus, sur le bord transparent, donc c'est plus idéal si l'on peut simplement faire pivoter la bordure).

Répondre

1

Exécutez un autre pack() sur votre JFrame de niveau supérieur après la rotation.

+0

Merci! Cependant, nous utilisons une mise en page nulle pour le volet contenu. Il est donc difficile d'appeler pack(). Je n'ai plus implémenté les images dans son propre JComponent plutôt directement dans le volet contenu. Les événements de souris sont traduits en AffineTransform à l'image. Et il n'y a plus de problèmes de frontières! –