Comment adapter la taille de l'Image à JFrame Taille?
J'ai un JPanel
dans un JFrame
. J'ai chargé une image sur le JPanel
mais sa montre juste une partie de l'image: C'est la partie du code où je l'ai fait:
JPanel panelImg = new JPanel()
{
public void paintComponent(Graphics g)
{
Image img = new ImageIcon("Welcome.png").getImage();
Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
setPreferredSize(size);
setMinimumSize(size);
setMaximumSize(size);
setSize(size);
setLayout(null);
g.drawImage(img, 0, 0, null);
}
};
mainFrame.add(panelImg);
C'est donc ce à quoi ça ressemble:
L'image complète ressemble à ceci:
Est-il un moyen de l'échelle de l'image à la JFrame
s taille? Merci d'avance
Jetez un oeil à certaines de ces réponses: stackoverflow.com/a/12660146/1133011 et stackoverflow.com/a/12996718/1133011 ils montrent comment afficher et l'échelle des images sur
JPanel
/JFrame
. Vous n'aurez qu'à l'échelle pour la taille d'image via getWidth()
et getHeight()
(+1 pour @trashgod et @MadProgrammer)OriginalL'auteur Jorge Chayan | 2012-10-23
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, je ne serais pas le chargement de l'image à l'intérieur de la
paintComponent
méthode, cette méthode est d'appeler à plusieurs reprises (et quelques fois en succession rapide), vous ne voulez pas faire quelque chose qui prend du temps à s'exécuter ou consomme des ressources inutilementDécouvrez Java: maintenir le ratio d'aspect de l'image d'arrière-plan Composite pour des suggestions sur la façon de remplir l'ajustement des images d'une zone donnée
OriginalL'auteur MadProgrammer
Vous voulez le
drawImage()
qui évolue pour le conteneur cible. Voir l'article cité ici pour des solutions de rechange. Par exemple,OriginalL'auteur trashgod
Puis utilisez le ImagePanel méthode de l'objet
SetBackground
commefait 😀 .. thx 😀
bon et maintenant corrigé la dénomination et de me faire vraiment plaisir 🙂
désolé qu'entendez-vous par les conventions de nommage !! :/
comment sur la saisie de conventions de nommage java dans le champ de recherche de votre faviourite moteur de recherche .. ? Ou de lire le chapitre correspondant dans le tutoriel référencé dans le swing de la balise wiki. Ou ... de toute façon: il y a des règles sur la manière de nom classes, attributs, méthodes, tout: vous avez violé la méthode de nommage de l'un en commençant avec une majuscule-ci.
OriginalL'auteur Bishoy Basily
Son Facile. Suivez cet exemple,
OriginalL'auteur javatar
vous pouvez essayer ceci :
OriginalL'auteur AvB