IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Agents de placement/Fenêtres Java Discussion :

Redimensionner une image par rapport au Jframe en java


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2017
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Redimensionner une image par rapport au Jframe en java
    Salut je sollicites votre aide! Au fait, sa fait quelques temps que je dévellopes en Java et j'ai un souci lorsque je compile mon application
    s'il arrive que j'agrandi la fenêtre, alors l'image que j'ai mi sur un Label en fond de mon jFrame ne s'adapte pas à la fenêtre il reste sur une partie!

    SVP aidez moi à régler ce pb.

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Il te faut dessiner directement l'image dans le fond d'un composant (par exemple, dans le fond d'un JPanel), en redéfinissant la méthode paint() ou paintComponent() selon le cas. En revanche, il faudra faire attention à la problématique de redimensionnement proportionnel (ou pas).

    Voici un exemple pour afficher une image dans le fond d'un JPanel avec adaptation proportionnelle (sans proportionnalité, il suffit d'utiliser directement, sans calcul, getWidth() et getHeight())) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    public class ImagePanel extends JPanel {
     
    		private BufferedImage image;
     
    		public void setImage(BufferedImage image) {
    			this.image=image;
    			repaint();
    		}
     
    		@Override
    		protected void paintComponent(Graphics g) {
    			super.paintComponent(g);
    			if ( image!=null ) {
    				final double width;
    				final double height;
    				if ( image.getWidth()>image.getHeight() ) {
    					final double scale = (getWidth()*1f)/image.getWidth();
    					width = getWidth();
    					height = image.getHeight()*scale;
    				}
    				else {
    					final double scale = (getHeight()*1f)/image.getHeight();
    					height = getHeight();
    					width = image.getWidth()*scale;
    				}
    				final double x = (getWidth()-width)/2;
    				final double y = (getHeight()-height)/2;
    				g.drawImage(image, (int)x, (int)y, (int)width, (int)height, this);
    			}
    		}
     
    	}
    Regarde cette discussion (au sujet de la problématique d'afficher des composants par dessus une image) : https://www.developpez.net/forums/d1...terface-swing/
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2017
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Salut

    Est ce que c'est pas possible en utilisant un JLabel à la place du Jpanel?
    Un peu comme en C# où il suffit juste de faire un stretching

    En fait le problème c7 pas un redimensionnement manuel mais un redimensionnement automatique
    de l'image de fond en fonction de la fenêtre lorsqu'on clic sur agrandir de la fenêtre.

    Voila j'esperes que vous me comprendrez Merci!

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    J'ai bien compris ce que tu as demandé et je t'ai donné la solution la commune en Java. On peut toujours tout faire de façons différentes. Si tu tiens à utiliser un JLabel, tu peux utiliser la classe StretchIcon.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2017
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Ok cool merci de ton aide!
    Je crois que je vais utiliser la solution commune que tu ma indiqué
    Etant donné que je n'est pas trouvé de solution ailleurs
    Vraiment grand merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Centrer une image par rapport au texte sur la même ligne
    Par Lonlie dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 6
    Dernier message: 16/09/2008, 17h09
  2. Réponses: 5
    Dernier message: 18/08/2008, 09h49
  3. Afficher et cacher une image par rapport au survol d'une zone
    Par asie86 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 16/01/2008, 13h48
  4. [FPDF] Intégration d'une image par rapport au texte
    Par navis84 dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 12/03/2007, 09h28
  5. Réponses: 2
    Dernier message: 26/10/2006, 16h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo