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 :

Affichage de 2 images entourant du texte


Sujet :

AWT/Swing Java

  1. #1
    Membre éclairé Avatar de BakaOnigiri
    Inscrit en
    Avril 2002
    Messages
    366
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 366
    Par défaut Affichage de 2 images entourant du texte
    Bonsoir,

    je cherche la meilleur manière d'avoir un composant qui permettrait d'afficher 2 images de part et d'autre d'un texte.

    Au début j'ai chercher à étendre la classe JLabel, et de rajouter une méthode setSecondIcond(...), je voulais ensuite surcharger la méthode paint pour pouvoir rajouter le dessin de ma seconde image, mais JLabel n'utilise pas la méthode paint, il semble que ce soit JComponent que dessine réellement le JLabel, mais j'ai pas compris comme JComponent savait qu'il devait dessiner une image

    Voilà, j'aimerais éviter de créer un pseudo composant qui est en fait un panel et 2 (ou 3) composants dedans.


    Avez vous une idée à me proposer ?


    Merci.

  2. #2
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    Salut,
    tu peux voir ce code que j'ai pas testé

  3. #3
    Membre éclairé Avatar de BakaOnigiri
    Inscrit en
    Avril 2002
    Messages
    366
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 366
    Par défaut
    C'est pas mal, çà ressemble à ce que j'avais vu en cherchant un peut, mais en fait çà sert juste à combiner une ou plusieurs images, en une seule.

    Dans cet exemple les images sont appliqués à un JLabel, et elles se retrouvent donc bien à gauche, comme pour une image simple, avec le texte collé, mise à droite.

    Ce que je chercher à faire et un peut plus poussé, il me faudrait une image à gauche ET à droite du texte du JLabel.

    En fait il faudrait que je trouve le moyen de faire en sorte que le texte ne se positionne pas en fonction de l'image, comme çà on fait une image combinée assez large avec plein de vide entre les 2, et le texte remplis ce vide.

  4. #4
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Citation Envoyé par BakaOnigiri Voir le message
    Voilà, j'aimerais éviter de créer un pseudo composant qui est en fait un panel et 2 (ou 3) composants dedans.
    Pourquoi ? De toute façon tu vas être obligé de construire ton propre composant car tu dois connaitre la taille du texte à l'affichage.
    Autant faire simple et agréger 3 composants, ça t'évite de comprendre la mécanique interne du JLabel.
    Sauf si ton but est d'apprendre la mécanique interne d'un JLabel
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  5. #5
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    Citation Envoyé par BakaOnigiri Voir le message
    En fait il faudrait que je trouve le moyen de faire en sorte que le texte ne se positionne pas en fonction de l'image, comme çà on fait une image combinée assez large avec plein de vide entre les 2, et le texte remplis ce vide.
    une idée me vient à l'esprit est d'utiliser un logiciel de traitement d'image pour créer une image contenant un texte entouré de deux icônes, et ajouter cette image à ton JLabel.

  6. #6
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par BakaOnigiri Voir le message
    mais JLabel n'utilise pas la méthode paint, il semble que ce soit JComponent que dessine réellement le JLabel,
    Il ne faut pas toucher à paint() sur les composants Swing !
    Si on veut modifier le comportement de l'affichage d'un composant, il faut soit :
    • Redéfinir la méthode paintComponent().
    • Utiliser un ComponentUI spécifique pour son composant, ce qui serait plus approprié car ce dernier permet également de calculer la taille du composant


    Maintenant le code de JLabel est assez complexe, notamment car le texte et l'icone peuvent être positionnés à divers endroits. Donc ce ne sera pas forcément évident de rajouter une icone en gérant tout cela


    Perso je vois 2 solutions :
    • Comme indiqué, le plus rapide serait d'utiliser un composant perso contenant 3 JLabels (un pour le texte et un pour chaque icônes).
    • Sinon on peut se créer un vrai composant perso (qui hériterait de JComponent), avec un ComponentUI adapté pour cet affichage fixe, mais ca fait beaucoup de code pour peu de chose.



    a++

  7. #7
    Membre éclairé Avatar de BakaOnigiri
    Inscrit en
    Avril 2002
    Messages
    366
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 366
    Par défaut
    Merci bien.

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

Discussions similaires

  1. affichage d'image et de texte
    Par PadawanInPerl dans le forum Interfaces Graphiques
    Réponses: 19
    Dernier message: 27/04/2011, 15h11
  2. [html] pbs: pour qu'une image suive le texte,affichage d'img
    Par dardadax dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 29/06/2007, 14h14
  3. Réponses: 6
    Dernier message: 28/05/2004, 19h45
  4. [DirectDraw7] Affichage de plusieurs image bmp
    Par SteelBox dans le forum DirectX
    Réponses: 3
    Dernier message: 24/04/2004, 19h00
  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