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

Interfaces Graphiques en Java Discussion :

Afficher plusieurs images pour une big map


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre régulier Avatar de ia.jenny
    Profil pro
    Inscrit en
    Août 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 152
    Points : 78
    Points
    78
    Par défaut Afficher plusieurs images pour une big map
    Bonjour,
    je voudrais afficher des images avec la position X et Y pour faire une big map, comme ceci :
    Nom : 6-242d5bb.png
Affichages : 395
Taille : 49,7 Ko


    Voici le programme complet pour le moment. Mes images c'est 1.jpg, 2.jpg, etc...
    Je ne sais pas comment faire.
    Merci Beaucoup

    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
    33
    package imageTest;
     
    import java.awt.Dimension;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
     
     
    public class Main extends JPanel {
     
        public static void main(String[] args) {
            // TODO Auto-generated method stub
     
            JFrame fenPrincipale=new JFrame("-ProjetNfa032-");//On definit la JFrame //fen=fenetre
            fenPrincipale.setSize(new Dimension(750,500));
            fenPrincipale.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
            Image imgTest= new Image();
            imgTest.adresseImg="C:\\1.jpg";
            JPanel panImgTest = null;
     
     
            panImgTest=imgTest.fctAfficherImg(panImgTest, 100, 100);
            panImgTest=imgTest.fctAfficherImg(panImgTest, 100, 200);
            panImgTest=imgTest.fctAfficherImg(panImgTest, 100, 300);
     
     
     
            fenPrincipale.add(panImgTest);
            fenPrincipale.setVisible(true);
     
        }
     
    }
    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
    33
    34
    35
    36
    37
    38
    package imageTest;
     
    import java.io.IOException;
     
    import javax.swing.Icon;
    import javax.swing.ImageIcon;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
     
     
    public class Image extends JPanel{
     
        String adresseImg;
     
        public JPanel fctAfficherImg(JPanel pan ,int posX ,int posY){
     
            pan=new JPanel();
     
            Icon imgIcon=new ImageIcon(adresseImg);
            JLabel imgJLabel = new JLabel ();
            imgJLabel.setIcon(imgIcon);
     
            pan.add(imgJLabel);
            pan.setLayout(null);//positionement-mise en forme du JPanel
     
     
            int widthImg = 100;
            int heightImg = 100;
     
            imgJLabel.setSize(widthImg, heightImg);
     
     
            imgJLabel.setLocation(posX,posY);
     
            return pan;
        }
     
    }

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut

    Tu n'as pas l'air de savoir que le seul et unique moyen d'afficher quelque chose sur une fenêtre est de récupérer son Graphics via getGraphics();
    Avec ça afficher une image est beaucoup plus simple il suffit de faire drawImage(*ton Image*);

    donc voici un code qui marche

    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
     
     
    public class Fenetre extends JFrame{
     
        Graphics G = null;
     
        //Appeler ton JPanel "Image" est plutôt déroutant donc je l'ai appelé MonPanel
        MonPanel pan = new MonPanel();
     
        Image img = null;
     
        try {// La j'importe l'image
     
    	img = ImageIO.read(new File("C:\\1.png"));
     
        } catch (IOException e) {
    	e.printStackTrace();
        }
     
        public Fenetre(){
     
            G = this.getGraphics();
     
            pan.afficherImage(G);
     
        }
     
    }
    Maintenant la classe MonPanel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class MonPanel extends JPanel{
     
        public void afficherImage(Graphics G,Image img,int X,int Y){
     
            G.drawImage(img,X,Y,this);
     
        }
     
    }
    Dernière modification par Invité ; 23/11/2019 à 18h47.

  3. #3
    Membre régulier Avatar de ia.jenny
    Profil pro
    Inscrit en
    Août 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 152
    Points : 78
    Points
    78
    Par défaut
    merci

  4. #4
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 846
    Points : 22 851
    Points
    22 851
    Billets dans le blog
    51
    Par défaut
    Citation Envoyé par Aimka_ Voir le message
    Salut

    Tu n'as pas l'air de savoir que le seul et unique moyen d'afficher quelque chose sur une fenêtre est de récupérer son Graphics via getGraphics();
    Non, non et non sauf quand on est sur et certain de ce qu'on fait.

    Le graphics est fourni en paramètre de la méthode paintComponent() (pour Swing) ou paint (si tu utilises AWT) et tu dois faire avec celui qui t'est donné. Tu n'as pas a chercher a récupérer celui de la fenêtre, sauf cas particuliers. Et tu n'a pas non-plus besoin de conserver une référence sur lui.

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

Discussions similaires

  1. [VB.NET] afficher une image stockée dans une table
    Par matonfire dans le forum ASP.NET
    Réponses: 4
    Dernier message: 19/03/2004, 11h21
  2. Afficher une image JPG qui se trouve dans une bdd
    Par Harry dans le forum Bases de données
    Réponses: 6
    Dernier message: 27/02/2004, 10h51
  3. Charger et afficher une image jpg avec les mfc
    Par glop - pas glop dans le forum MFC
    Réponses: 3
    Dernier message: 11/02/2004, 18h59
  4. Réponses: 2
    Dernier message: 04/02/2004, 22h32
  5. Afficher une image sans passer par les textures
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/05/2003, 19h13

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