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

AWT/Swing Java Discussion :

problème chargement image sous linux


Sujet :

AWT/Swing Java

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 18
    Points : 18
    Points
    18
    Par défaut problème chargement image sous linux
    Bonjour, j'ai un petit problème avec la construction de mon interface graphique. Mon programme charge une image de fond et la met sur mon JFrame. Quand je lance mon programme depuis un poste Windows, tous fonctionne correctement. Mais quand je le lance depuis un poste Linux, les images ne se charge.

    Mes images sont à la racine du projet, donc ce n'est pas une erreur de chemin qui serait différent sur Linux ou sur Windows.

    Merci de votre éclairement

  2. #2
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    peux tu montrer comment tu charges les images.

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 18
    Points : 18
    Points
    18
    Par défaut
    La je vais afficher mon image dans une petite fenêtre (sorte de popup)


    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
    	private void gestionApropos(){
    		//Création de la fenêtre
    		JFrame popup = new JFrame(":: A propos...");
    		//Empêche de redimensionner+taille
    		popup.setResizable(false);
            //Centre fenêtre
    		popup.setLocationRelativeTo(null);
     
    		Container contPopup = popup.getContentPane();
    		contPopup.setLayout(new FlowLayout());
     
            //Affichage du fond
    		JLabel label = new JLabel(new ImageIcon("apropos.jpg"));
     
    		contPopup.add(label);
     
    		//Affichage de celui-ci
    		popup.pack();
    		popup.setVisible(true);
    	}
    Et ça c'est le chargement de mon image que je vais mettre en fond de mon programme principal

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            //Affichage du fond
            fond = Toolkit.getDefaultToolkit().getImage("bg.jpg");
    		try{
    			MediaTracker mt = new MediaTracker(this);
    			mt.addImage(fond,0);
    			mt.waitForAll();
    		}catch(Exception e){e.printStackTrace();}
    		setContentPane(new ContentPane(fond));
    Et la ma classe privée qui se charge de mettre en fond mon image

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    	private class ContentPane extends JPanel{
    		/**
                     * 
                     */
    		private static final long serialVersionUID = 1L;
     
    		private Image image;
    		public ContentPane(Image leFond){super();image=leFond;}
    		public void paintComponent(Graphics g){g.drawImage(image,0,0,null);}
    	}

  4. #4
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    tu peux inclure à l'intérieur de ton jar les images et les récupérer avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    URL url = getClass().getResource("./apropos.jpg");

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 18
    Points : 18
    Points
    18
    Par défaut
    Mais pourtant j'ai fait un .jar executable et je l'ai lancé sur plusieurs postes Windows et ça se lance correctement. Mais pourquoi sur Linux mon programme se lance mais sans images, comme java est multiplateformes ça devrait pouvoir se lancer n'importe où non?

  6. #6
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    je n'ai pas linux sous la main pour tester, mais essai un ./ devant le nom des images.

  7. #7
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 18
    Points : 18
    Points
    18
    Par défaut
    ah ben ça fonctionne maintenant, c'était tout con! Merci pour ton aide!!

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

Discussions similaires

  1. Problème chargement image jpg sous linux
    Par AF_2.8 dans le forum Qt
    Réponses: 6
    Dernier message: 17/11/2008, 14h11
  2. client serveur d'image sous linux
    Par stacker_junior dans le forum Linux
    Réponses: 1
    Dernier message: 08/02/2006, 03h22
  3. [WebService](SSL] Problème de SSL sous Linux
    Par Tueur_a_gage dans le forum JOnAS
    Réponses: 4
    Dernier message: 09/01/2006, 16h38
  4. Problème avec glutFullScreen() sous linux...
    Par MaxPayne dans le forum OpenGL
    Réponses: 1
    Dernier message: 29/11/2004, 11h30
  5. Affichage d'une image sous linux
    Par Braim dans le forum x86 32-bits / 64-bits
    Réponses: 5
    Dernier message: 25/03/2003, 10h41

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