Zoom avant et zoom arrière dans un panneau
J'ai un Panneau dans lequel certains objets 2D sont en mouvement. J'ai annulé paintComponent (). Maintenant, je veux être en mesure de zoom in et zoom-out de la région. Lors du zoom avant, les barres de défilement apparaissent par lequel on peut voir l'ensemble du domaine, en les faisant défiler. Tandis que le zoom avant et arrière, les objets 2D augmenter ou diminuer la taille en conséquence. Qui composant Swing ou plutôt la combinaison de composants aideront à réaliser cet?
source d'informationauteur aps
Vous devez vous connecter pour publier un commentaire.
Façon la plus simple est de modifier votre panneau et introduire une double indiquant votre niveau de zoom. Cette double indiquerait votre échelle, où 1 est normal et de plus est zoomée. Vous pouvez utiliser cette double avec
Graphics2D
dans votrepaintComponent
.Tels que:
Pour le défilement, mettez votre panneau dans un JScrollPane et de combiner cela avec un getPreferredSize qui utilise aussi de l'échelle de zoom. JScrollPane utilise la taille par défaut du composant que vous y mettez. Il permettra d'afficher les barres de défilement si la taille dépasse sa propre taille.
Si vous modifiez la taille de votre panneau, de sorte que la largeur et la hauteur qu'elle renvoie est mis à l'échelle, vous devriez être bien. Essentiellement, vous pouvez simplement retourner quelque chose comme: