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

Composants Java Discussion :

[JLabel] texte + image + texte


Sujet :

Composants Java

  1. #1
    Membre averti Avatar de soad
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    520
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 520
    Points : 439
    Points
    439
    Par défaut [JLabel] texte + image + texte
    hello tout le monde !!!

    alors voila, j'ai quelque problème pour ajouter une image au milieu d'un texte dans un JLabel

    voila ce que j'avais penser faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    label.setText("avant l'image ");
    label.setIcon(img);
    label.setText(" après l'image");
    le problème c'est que mon setText ou mon setIcon efface ce qui y'avais avant !!! y'aurait pas un moyen pour rajouter a la suite au lieu d'effacer ???

    merci

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 137
    Points : 143
    Points
    143
    Par défaut
    Va falloir que tu redéfinisses la fonction paintComponent de ton JLabel.

    Un petit lien vers un exemple de redéfinition du paintComponent :

    http://www.mcs.cs/uhayward.edu/~simo...DrawFrame.html
    [/url]
    ( je viens de le prendre par hasar[d sur Google, yen a surement dautres !)

  3. #3
    Membre averti Avatar de soad
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    520
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 520
    Points : 439
    Points
    439
    Par défaut
    heu... je vois pas trop comment faire ???

    je pourrai avoir un ptit peu plus de détails ???


    merci

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 95
    Points : 140
    Points
    140
    Par défaut
    Et pourquoi ne pas diviser ton JLabel en 2 JLabels ?

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 137
    Points : 143
    Points
    143
    Par défaut
    Un petit exemple :

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
    import java.awt.*;
    import java.awt.image.*;
     
    import javax.swing.*;
     
     
     
    class LabelSplashextends JLabel
    {
     
    Image image = null ;
     
     
    LabelSplash( Image theImage )
    {
      super();
     
    this.image = theImage ;
     
      this.setBackground( Color.white );
     
      setOpaque(true);
    }
     
     
     
    public void paintComponent( Graphics graphics ) 
    {
        Graphics2D graphics2D = (Graphics2D) graphics;
     
     
     
        Dimension dimension = this.getSize();
     
        int maxY = (int) dimension.getHeight();
        int maxX = (int) dimension.getWidth();
     
        Point pointInitial = new Point( 0, 0);
        Point pointFinal = new Point( maxX, maxY);
     
     
        graphics2D.fillRect(0,0,maxX, maxY );
     
     
     
        graphics2D.drawImage( 
          image, 0,0, null );
     
        graphics2D.setColor(Color.black);
     
     
        graphics2D.setFont(new Font("Tahoma", Font.BOLD, 14));
     
     
     
        String text = "Coucou" ; ;
     
        FontMetrics metrics = graphics2D.getFontMetrics();
        int width = metrics.stringWidth( text );
        int height = metrics.getHeight();
     
        graphics2D.drawString( text, 
          maxX/2-width/2, 
         // maxY*5/10); 
         maxY * 7/10 );
     
     
     
    }
     
    }

    Ca affiche un label avec l'image "en haut", le text plus bas.
    A toi ensuite de mieux dimensionner, en ecrivant a gauche, a droite et en placant limage au milieu du label.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 137
    Points : 143
    Points
    143
    Par défaut
    Cest vrai que l'histoire des 2 labels, cest encore mieux. Ten fais meme trois cote a cote, et le tour est joué !!

    ( 2 pour les textes, 1 pour l'image )

  7. #7
    Membre averti Avatar de soad
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    520
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 520
    Points : 439
    Points
    439
    Par défaut
    oki c'est bon ca marche !!!

    pour l'histoire des 2 jlabels ca va pas pcq tout ceci étais pour une JList !!!

    merci

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

Discussions similaires

  1. [ImageMagick] Texte -> image : très mauvaise qualité ?
    Par Yusuke dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 11/11/2005, 19h17
  2. [Demande d'assistance] Convertisseur Texte > Image
    Par Tub-95 dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 21/09/2005, 18h50
  3. [JLabel] Problème de texte tronqué
    Par mister3957 dans le forum Composants
    Réponses: 3
    Dernier message: 06/08/2005, 11h12
  4. [debutant][JLabel] Taille du texte
    Par GroRelou dans le forum Composants
    Réponses: 2
    Dernier message: 06/06/2005, 15h26
  5. [HTML]/[CSS] soulignage de lien (image + texte)
    Par Antickriszt dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 31/03/2005, 20h55

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