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 :

Insérer une image dans un JFrame


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Avril 2014
    Messages : 13
    Points : 8
    Points
    8
    Par défaut Insérer une image dans un JFrame
    Bonjour,

    Je veux inserer une image dans un JFrame Comment faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    this.setTitle("Tp POO : Gestion de Compte Bancaires");
    			this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    			this.setSize(680,320);
    Merci d'avance pour votre aide.

  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,

    Insérer comment ? Tu parles de l'icône en haut à gauche ? Tu voudrais juste afficher une image à l'intérieur de la JFrame ? Ou afficher une image dans le fond et afficher d'autres composants au dessus ?
    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
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Avril 2014
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    C'est pour afficher une image dans le fond et afficher d'autres composants au dessus .

  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
    1. Il y a la méthode qui consiste à dessiner dans le fond d'un JPanel, qu'on mettrait dans la fenêtre, et dans lequel tu pourras ajouter des composants.

      Pour ça, il faut redéfinir la méthode paintComponent() par exemple :

      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      protected void paintComponent(Graphics g) {
       
                 super.paintComponent(g);
       
                 g.drawImage( image ,0, 0, null);
       
      }
      Cette méthode présente comme avantage qu'on peut dessiner l'image comme on veut dans le fond :
      • on peut faire qu'elle s'étende sur tout le panneau : g.drawImage( image ,0, 0, getWidth(), getHeight(), null);, mais bien sûr ça peut déformer l'image
      • on pourra la centrer, ou s'arranger pour quelle s'étende de manière à respecter ses proportions, sans laisser de place pour du vide, ou l'agrandir de manière à ce qu'aucune partie ne soit coupée tout en maximisant
      • on pourra utiliser des textures, déformations diverses, etc.


      En revanche, il peut être complexe de gérer la transparence des composants à mettre au dessus : tu verras un exemple plus complet ici qui traite de cette problématique.
    2. On peut également mettre l'image dans un JLabel et utiliser un OverlayLayout pour combiner l'image avec un formulaire classique Swing.

      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
      JLabel label = new JLabel(new ImageIcon(chemindel'image));
       
      Panel panel = new JPanel(); // on créé un panel
      panel.setLayout(new OverlayLayout(panel)); // on lui affecte le layout OverLayLayout
       
      JPanel form = new JPanel(); // on créé un JPanel pour les composants
      // on ajoute les composants qu'on veut au formulalire (ici par exemple 3 boutons)
      for(int i=0; i<3;i++) form.add(new JButton("button "+(i+1)));
       
      Il faut rendre le panel du formulaire transparent, pour voir l'image à travers
      form.setOpaque(false);
       
      panel.add(form); // on ajoute le formulaire
      panel.add(label); // on ajoute après le composant avec l'image (après pour qu'il soit affiché en dessus)
       
      frame.add(panel);// on ajoute le panneau au
      C'est beaucoup plus simple, mais plus contraignant : l'image ne pourra s'adapter aussi simplement que dans l'autre système, aux changements de taille la fenêtre (si la taille de la fenêtre est fixée, ça peut être beaucoup plus simple d'agrandir l'image dès le départ). On peut combiner toutefois les 2.
    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
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Avril 2014
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    merci beaucoup

Discussions similaires

  1. Insérer une image dans une application
    Par Invité dans le forum JBuilder
    Réponses: 4
    Dernier message: 23/04/2006, 18h19
  2. [MFC]Insérer une image dans un CListCtrl
    Par DestyNov@ dans le forum MFC
    Réponses: 8
    Dernier message: 04/03/2005, 14h36
  3. Comment insérer une image dans une cellule d'un TDrawGrid ?
    Par kanux dans le forum Composants VCL
    Réponses: 4
    Dernier message: 15/01/2005, 18h58
  4. [Crystal Reports 9] comment insérer une image dans Détails
    Par VVE dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 22/10/2003, 17h06

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