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 :

question a propos d'une chaine de caractaire (string)


Sujet :

AWT/Swing Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2007
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 33
    Points : 30
    Points
    30
    Par défaut question a propos d'une chaine de caractaire (string)
    esque c possible de connaitre la taille d'une chaine de caractere (string)
    en pixel ?????

    je pense ça ne l est pas mais c juste pour confirmation

    mais ça m aiderai beaucoup si ça l ai

  2. #2
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    Mésurer la taille d'une String en pixel, cela ne veux rien dire. Une String est un ensemble de caractères stockés en mémoire.
    Par contre pour le texte à l'écran, ça doit être faisable via les classes Font et FontMetrics.

  3. #3
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 83
    Points : 101
    Points
    101
    Par défaut
    Bonjour,

    En effet fontMetrics a une méthode stringWidth qui permet de connaitre la largeur en pixel d'un texte en fonction d'une font :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
         FontMetrics fm = new FontMetrics(new Font("Arial",Font.PLAIN,11);
          int msg_width = fm.stringWidth("c'est combien ma largeur ?");
    Bonne journée à tous !

  4. #4
    Nouveau membre du Club
    Inscrit en
    Février 2007
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 33
    Points : 30
    Points
    30
    Par défaut
    merci NicoWrmCorp

    mais ça marche pas sa me sort une tonne d exeption de la class "FontMetrics"
    voici exactement se qe je veux faire:
    j ai un tableau de "string" que je voudrai placé dans un jpanel l un apres l autre
    voici le code qe j utilise
    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
     
     int x=10;
     int y=10;
     int x2 = 10;
    for(int j=0; j<10;j++)
              {
                   FontMetrics fm = new FontMetrics(new Font("Arial",Font.PLAIN,11)) 
                    {
                     };
     
                  int pixel = fm.stringWidth(tableau[j]);
                  x2 = x+ pixel ;
                  if(x2 > jPanel11.getWidth()) 
                       {
                           y=y+12;
                           x= 10;
                       }       
                 this.jPanel.getGraphics().drawString(tableau[j],x,y);
                 x = x+ pixel + 10;
             }

  5. #5
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 83
    Points : 101
    Points
    101
    Par défaut
    Comme ca c'est peut être moin compliqué ..
    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
     
    public class Main extends JApplet
    {
    	public void init()
    	{
          String tableau[] = {"Coucou","je","suis","content"};
     
          JPanel princ = new JPanel();
          princ.setLayout(new FlowLayout(FlowLayout.LEFT,0,0));
          int nbElt = tableau.length;
          for(int idx=0;idx<nbElt;idx++)
          {
             princ.add(new JLabel(tableau[idx]));
          }
          this.getContentPane().add(princ);
    	}
    }
    Ou alors j'ai rien compris à ta demande ... et c'est plus que possible !!
    A+

  6. #6
    Membre actif Avatar de Lethal
    Profil pro
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2006
    Messages : 194
    Points : 227
    Points
    227
    Par défaut
    Citation Envoyé par NicoWrmCorp
    ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
         FontMetrics fm = new FontMetrics(new Font("Arial",Font.PLAIN,11);
          int msg_width = fm.stringWidth("c'est combien ma largeur ?");
    ...
    C'est pas possible d'instancier la classe FontMetrics car elle est abstract.
    Tu ne t'es pas trompé?

  7. #7
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 83
    Points : 101
    Points
    101
    Par défaut
    Normalement je récupère FontMetrics à partir d'un object Graphics
    ... désolé j'ai mis "new FontMetrics" pour faire plus court.

  8. #8
    Membre actif Avatar de Lethal
    Profil pro
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2006
    Messages : 194
    Points : 227
    Points
    227
    Par défaut
    Thx ... j'étais en train d'essayer de dériver une classe de FontMetrics

  9. #9
    Nouveau membre du Club
    Inscrit en
    Février 2007
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 33
    Points : 30
    Points
    30
    Par défaut
    merci pour votre aide

    le probleme est resolut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    FontMetrics fm = getFontMetrics(getFont());
     
    int pixel = fm.stringWidth(tableau[j]);

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

Discussions similaires

  1. ajouter des espace a la fin d'une chaine de caractaire
    Par bforzeus dans le forum Langage
    Réponses: 3
    Dernier message: 04/07/2013, 11h50
  2. Extraire une chaine de caractaire entre deux critere
    Par hichemaouini dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 21/10/2009, 11h48
  3. [MySQL] convertir une chaine de caractair en date
    Par rose25 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 02/07/2009, 23h26
  4. position d'une lettre dans une chaine de caractaire
    Par zidenne dans le forum Delphi
    Réponses: 3
    Dernier message: 14/08/2006, 11h18

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