2010-12-02 35 views
0

Je travaille sur un projet dans lequel j'ai une image de fond avec des points d'intérêt spécifiques. Chacun de ces points spécifiques sera recouvert d'une classe de boutons personnalisés afin que lorsque je clique sur le point, je clique réellement sur le bouton. Cependant, j'aimerais pouvoir faire pivoter l'image d'arrière-plan et faire pivoter les boutons avec l'image afin que les boutons personnalisés soient toujours superposés aux points spécifiques. Des conseils sur la façon dont je devrais faire cela?Quelle est la meilleure façon de faire pivoter plusieurs boutons dans un jpanel autour d'un point central?

Répondre

0

Voulez-vous réellement faire pivoter 4 images différentes et les déplacer autour du carré, tout en les gardant toujours debout? Ou faites-vous pivoter une seule image de sorte que, après un clic sur un bouton, la seule image soit de son côté? Si le premier, alors cela peut être facilement fait en utilisant un conteneur (un JPanel) qui utilise BorderLayout, et ayant quatre JPanels avec des images d'arrière-plan et JButtons détenus dans le conteneur JPanel aux quatre points cardinaux du BorderLayout: BorderLayout.EAST, BorderLayout .WEST, BorderLayout.NORTH et BorderLayout.SOUTH (bien que les gourous Java préfèrent utiliser les nouvelles constantes, c'est-à-dire, BorderLayout.PAGE_START). Ensuite, lorsque vous appuyez sur un bouton, supprimez les composants et ajoutez-les de nouveau, mais en les faisant pivoter. Si vous voulez faire ce dernier, alors les choses deviennent un peu plus compliquées car vous aurez probablement besoin d'utiliser AffineTransforms, de faire pivoter l'instance pour faire pivoter le conteneur, et vous devrez effectuer la même transformation sur le point de la souris appuie sur/clic/relâche, de sorte que les boutons pivotés reçoivent les clics corrects. Si le conteneur n'est pas carré, les choses deviennent encore plus délicates.

+0

Désolé, j'aurais dû fournir plus de détails. Je voudrais être en mesure de faire pivoter l'image en degrés (en utilisant un curseur) et avoir les boutons suivent avec la rotation, mais ne restent pas debout. Ce sur quoi je travaille est de créer un programme de cartes simple dans lequel j'ai une image de fond statique et ensuite je placerai les boutons (petits cercles) sur les zones d'intérêt. Lorsque je fais tourner la carte (l'image), j'aimerais que les boutons restent fidèles à leurs zones désignées sur la carte. – Chris