Ajuster automatiquement l'imageIcon à la taille de l'étiquette
En Java, l'affichage d'images sur une interface graphique nécessite l'utilisation de la classe ImageIcon. Cette classe fournit un moyen pratique de gérer l'affichage des images dans un composant GUI, tel qu'une étiquette. Cependant, le comportement par défaut d'ImageIcon est de conserver la taille d'origine de l'image, ce qui n'est pas toujours souhaitable.
Mise à l'échelle personnalisée
Si le comportement de mise à l'échelle par défaut est ne convient pas, vous pouvez créer un composant personnalisé qui gère l'affichage des images mises à l'échelle. Cette approche offre un meilleur contrôle sur le processus de mise à l'échelle et vous permet de spécifier le comportement d'ajustement ou de remplissage souhaité.
Définition d'un composant d'image évolutif
Pour créer une image évolutive personnalisée composant, hérite de la classe JPanel et implémente la clé suivante méthodes :
Exemple d'implémentation :
Le code Java suivant illustre un composant d'image évolutif personnalisé :
import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; import java.awt.RenderingHints; import javax.swing.JPanel; public class ScalableImage extends JPanel { // ... @Override protected void paintComponent(Graphics g) { super.paintComponent(g); if (image != null) { Graphics2D g2d = (Graphics2D) g; g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); int x = (getWidth() - image.getWidth(this)) / 2; int y = (getHeight() - image.getHeight(this)) / 2; g2d.drawImage(image, x, y, this); } } // ... }
Ajuster vs Fill Behavior
Le comportement de mise à l'échelle peut être personnalisé pour s'adapter à l'image dans le dimensions du composant ou remplir toute la zone. Le comportement d'ajustement redimensionne l'image pour l'adapter à l'espace disponible tout en conservant les proportions. Le comportement de remplissage met l'image à l'échelle pour remplir toute la zone, ce qui peut la recadrer ou la déformer.
Mise à l'échelle dynamique
Pour garantir que l'image est correctement mise à l'échelle lorsque les dimensions du composant changent , appelez la méthode invalidate() dans les méthodes revalidate() ou setSize(). Cela déclenche la régénération de l'image mise à l'échelle en fonction des dimensions mises à jour.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!