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 :

superposer Image et String sur un JPanel


Sujet :

AWT/Swing Java

  1. #1
    Membre éclairé Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Par défaut superposer Image et String sur un JPanel
    Bonjour,


    Comment fait on pour mettre en "fond d'écran" sur un panel une image et pouvoir par dessu mettre un JLabel???

    merci d'avance

  2. #2
    Membre éclairé Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328

  3. #3
    Membre éclairé Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Par défaut
    ok,

    maintenant je fais ces lignes de codes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    image = Toolkit.getDefaultToolkit().getImage("C:/Documents and Settings/binot/Mes documents/Mes images/moi.jpg");
    Graphics2D gr = (Graphics2D)image.getGraphics();
    		gr.drawString(lab.getText(), 0, 0);
    et on me répond :
    Exception in thread "main" java.lang.UnsupportedOperationException: getGraphics() not valid for images created with createImage(producer)
    at sun.awt.image.ToolkitImage.getGraphics(ToolkitImage.java:292)
    at MonAppli.fenetrePrincipal(MonAppli.java:72)
    at MonAppli.<init>(MonAppli.java:35)
    at MonAppli.main(MonAppli.java:133)

    comment dois je résoudre cela ??

  4. #4
    Membre éclairé Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Par défaut
    Clique sur ton erreur pour voir ou elle est et ensuite effectue un debogage... avec des points d'arret... pour voir ou tu as ton erreur.... Mais si tu veux que j'ais une chance de t'aider, il faut que tu me poste les lignes de code auxquels tes erreures te renvoient...

  5. #5
    Membre éclairé Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Par défaut
    ben l'erreur est à la ligne Graphics2D gr = (Graphics2D)image.getGraphics(); mais je nepas faire une debbugage utile car l'erreur vient de la class ToolKit, et je n'est pas le source de cette class, juste un .jar

  6. #6
    Membre éclairé Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Par défaut
    Clique sur la ligne ou tu as l'erreur :

    at MonAppli.fenetrePrincipal(MonAppli.java:72)

  7. #7
    Membre éclairé Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Par défaut
    cela m'ammene à cette ligne;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Graphics2D gr = (Graphics2D)image.getGraphics();

  8. #8
    Membre éclairé Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Par défaut
    Alors la je ne sais pas quoi te dire... Je suis désolé

  9. #9
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Charge plutôt ton image avec ImageIO.read (si tu utilises java 5) qui te renvoie directement une BufferedImage.

    Sinon, tu dois passer par un truc comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Image temp = Toolkit.getDefaultToolkit().getimage(...);
    BufferedImage image = new BufferedImage(// par exemple
      temp.getWidth(), temp.getHeight(), BufferedImage.TYPE_INT_ARGB);
     
    Graphics2D g = image.createGraphics();
    g.drawImage(temp, 0, 0, null);
    [EDIT]Tiens je ne savais pas que la classe Image avait une méthode getGraphics . En tout cas, pour écrire dans une image, il vaut mieux utiliser une BufferedImage.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  10. #10
    Membre éclairé Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Par défaut
    Oui effectivement ca a l'air pas mal...

  11. #11
    Membre éclairé Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Par défaut
    effectivement il n'y a plus l'exception mais par contre je n'arrive pas a afficher du texte par dessu cette image (ce qui est qd meme mon but ultime héhé)

  12. #12
    Membre éclairé Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Par défaut
    N'a tu point trouvé ton bonheur dans mes FAQ...????... regarde bien car je croi que la reponse est dedan... la force soit avec toi

  13. #13
    Membre éclairé Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	public void paintComponent(Graphics g)
    			{
    				super.paintComponent(g);
    				g.drawImage(image,0,0, null);
    				Graphics2D gr = (Graphics2D)g;
    				gr.drawString("balbadfgdsgdsfgsdfgsdfgsdl", 0, 20);
    				//g = gr;
    			}
    		};

    voila ca ca marche coool merci

  14. #14
    Membre éclairé Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Par défaut
    Super... alors pense a mettre le tag

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

Discussions similaires

  1. Taille images sur un JPanel
    Par phenix1988 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 04/01/2012, 15h27
  2. [AWT/SWING] Déplacer une image sur plusieurs JPanel
    Par Dark_TeToN dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 08/09/2010, 09h10
  3. Changer image sur un JPanel
    Par HunTR dans le forum Débuter
    Réponses: 2
    Dernier message: 29/03/2010, 09h27
  4. Réponses: 8
    Dernier message: 27/03/2006, 17h12
  5. Listener sur un JPanel
    Par ptitelfe dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 27/03/2004, 13h14

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