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 :

Affichage sur plusieurs lignes d'une méthode toString


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    252
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 252
    Points : 64
    Points
    64
    Par défaut Affichage sur plusieurs lignes d'une méthode toString
    Bonsoir à tous!!

    Ma question est simple: j'utilise un g.drawString dans la méthode paintComponent d'un JPanel; cette instruction affiche les données contenues dans un toString; je voudrais savoir s'il est possible de modifier la méthode toString de telle façon que l'affichage se fasse ensuite sur plusieurs lignes. Le message renoyé par toString est plutot long....

    D'avance merci
    Bonne soirée

  2. #2
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Ben tu peut toujours créer un nouvelle classe qui surcharge celle sur laquelle tu fais toString() et surcharger la méthode toString() pour qu'elle renvoie quelque chose sur plusieurs lignes...

  3. #3
    Gfx
    Gfx est déconnecté
    Expert éminent
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    Le problème restera entier puisque drawString() ne fera pas de retour à la ligne. Il faut parcourir la chaîne et faire les retours à la ligne soi-même.

  4. #4
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Citation Envoyé par Gfx
    Le problème restera entier puisque drawString() ne fera pas de retour à la ligne. Il faut parcourir la chaîne et faire les retours à la ligne soi-même.
    Oups Tu as raison, j'avais pas fait attention que le problème venait en fait surtout du drawString...

  5. #5
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    252
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 252
    Points : 64
    Points
    64
    Par défaut
    Donc à ce moment là il faut que j'insère dans mon toString un caractère spécial du type "/" pour retrouver les différents élémentsà afficher... Quelles sont les méthodes pour parcourir un string et ainsi retrouver mes éléments??

  6. #6
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    La méthode split de la classe String est faite pour toi

  7. #7
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    252
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 252
    Points : 64
    Points
    64
    Par défaut
    Le problème c'est que cette méthode crée un sous tableau qui contient un symbole par case... Il faudrait que je fasse une méthode pour compter le nombre de cases du tableau pour chaque mot et qu'ensuite je récupère les données de chaque bout de split???

    Ca me parit un peu laborieux, il exite pas de méthode directe de division d'un String grâce à un symbole??

  8. #8
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Ca me parit un peu laborieux, il exite pas de méthode directe de division d'un String grâce à un symbole??
    tonString.split("\n") va diviser ta chaine en autant de bout qu'il y a de séparateur. Ca ne te suffit pas ?

  9. #9
    Membre habitué Avatar de BlackWood
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 167
    Points : 169
    Points
    169
    Par défaut
    Bonjour,

    Je ne suis pas sur d'avoir bien tout saisi mais il suffirait simplement faire une recherche de la balise '\n' dans la String. Du genre :
    *Parcours de la chaine jusqu'au prochain '\n'
    *drawString()
    *Recommencer avec la chaine restante

    A peu de choses prés...

    EDIT : Comme viens de si bien dire wichtounet...

  10. #10
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    252
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 252
    Points : 64
    Points
    64
    Par défaut
    Merci pour toutes ces infos, mais entre temps j'ai trouvé une classe bien sympathique: java.utile.StringTokenizer, je rentre en paramètre le string à découper, je mets comme séparateur "|" et pour passer de parties en parties j'utilise nextToken()... et ca marche nickel!!

    Merci de vous être penché sur le sujet....
    Bon aprem

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

Discussions similaires

  1. [AC-2007] En-tête de colonne sur plusieurs lignes dans une list box
    Par Rémi GAUDINAT dans le forum IHM
    Réponses: 2
    Dernier message: 25/10/2010, 11h52
  2. [MySQL] Affichage sur plusieurs lignes dans base de données
    Par asvin dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 28/10/2008, 19h07
  3. FlexGrid ecrire sur plusieur ligne dans une cellule
    Par label55 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 05/02/2008, 14h54
  4. Affichage sur 2 lignes d'une cellule de DataGridView
    Par loic_86 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 15/06/2007, 20h32
  5. Texte sur plusieurs lignes dans une cellule de JTable
    Par JeanECN dans le forum Composants
    Réponses: 3
    Dernier message: 10/04/2006, 17h20

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