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
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
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.
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 :
Bonne journée à tous !
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 ?");
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; }
Comme ca c'est peut être moin compliqué ..
Ou alors j'ai rien compris à ta demande ... et c'est plus que possible !!
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); } }
A+
C'est pas possible d'instancier la classe FontMetrics car elle est abstract.Envoyé par NicoWrmCorp
Tu ne t'es pas trompé?
Normalement je récupère FontMetrics à partir d'un object Graphics
... désolé j'ai mis "new FontMetrics" pour faire plus court.
Thx ... j'étais en train d'essayer de dériver une classe de FontMetrics
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]);
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager